From e013cd6de641313f078144a9a69f8ce5d60b182e Mon Sep 17 00:00:00 2001 From: NahumDev <60716442+NahumOchoa@users.noreply.github.com> Date: Wed, 7 Oct 2026 22:46:11 -0600 Subject: [PATCH 1/6] Publish Bound 0.1.5 contracts and native walk --- CITATION.cff | 2 +- LICENSE | 1 - README.md | 10 +- TARGET.bound | 129 +- docs/contracts/015-stage-10.md | 11 + .../archive-conformance.publication.json | 25 + .../attest-evidence.publication.json | 25 + docs/contracts/cli-fold.md | 3 + docs/contracts/cli-fold.publication.json | 25 + docs/contracts/cli-land.md | 3 + docs/contracts/cli-land.publication.json | 25 + docs/contracts/cli-sign.md | 3 + docs/contracts/cli-sign.publication.json | 25 + docs/contracts/evidence-view.md | 7 + docs/contracts/publication.inventory.json | 29 + docs/contracts/publication.md | 17 + docs/contracts/typed-object.md | 35 + docs/contracts/typed-object.publication.json | 25 + docs/contracts/view-card.md | 3 + docs/contracts/view-card.publication.json | 25 + docs/contracts/view-citation-file.md | 3 + .../view-citation-file.publication.json | 25 + docs/contracts/view-explanation.md | 3 + .../view-explanation.publication.json | 25 + docs/contracts/view-guide.md | 3 + docs/contracts/view-guide.publication.json | 25 + docs/contracts/view-help.md | 3 + docs/contracts/view-help.publication.json | 25 + docs/contracts/view-lines.md | 3 + docs/contracts/view-lines.publication.json | 25 + docs/contracts/view-manifest-render.md | 3 + .../view-manifest-render.publication.json | 25 + docs/contracts/view-programs.md | 3 + docs/contracts/view-programs.publication.json | 25 + docs/contracts/view-readme-historical.md | 3 + .../view-readme-historical.publication.json | 25 + docs/contracts/view-receipts.md | 9 + docs/contracts/view-receipts.publication.json | 25 + docs/contracts/view-reference.md | 3 + .../contracts/view-reference.publication.json | 25 + .../contracts/view-release-workflow-render.md | 3 + ...w-release-workflow-render.publication.json | 25 + docs/contracts/view-tsconfig.md | 3 + docs/contracts/view-tsconfig.publication.json | 25 + docs/contracts/view-usage-profile.md | 3 + .../view-usage-profile.publication.json | 25 + docs/contracts/view-walk.md | 7 + docs/contracts/view-walk.publication.json | 25 + docs/contracts/view-why.md | 3 + docs/contracts/view-why.publication.json | 25 + docs/reference.md | 25 + docs/usage.md | 6 + docs/why.md | 6 +- package-lock.json | 25 +- package.json | 50 +- receipts.bound | 399 +++++-- samples/no/015-stage-10.json | 4 + samples/no/attest-evidence.json | 7 + samples/no/historical-build.json | 4 + samples/no/historical-document-views.json | 11 + samples/no/historical-presentation.json | 4 + samples/no/native-views.json | 8 + samples/no/program-views.json | 3 + samples/no/prose-views.json | 7 + samples/no/query-views.json | 4 + samples/no/signing-port.json | 1 + samples/no/typed-object.json | 142 +++ samples/no/walk.json | 16 + samples/typed/artifacts.json | 81 ++ samples/typed/artifacts.vector.json | 173 +++ samples/typed/contract.json | 37 + samples/typed/no.json | 142 +++ samples/typed/range.vector.json | 173 +++ samples/typed/wire.json | 22 + samples/typed/yes.json | 78 ++ samples/walk/no.json | 16 + samples/walk/refinement.json | 9 + samples/walk/typed-vector.json | 14 + samples/walk/yes.json | 100 ++ samples/yes/015-stage-10.json | 28 + samples/yes/attest-evidence.json | 8 + samples/yes/historical-build.json | 78 ++ samples/yes/historical-document-views.json | 191 +++ samples/yes/historical-presentation.json | 92 ++ samples/yes/native-views.json | 16 + samples/yes/program-views.json | 66 + samples/yes/prose-views.json | 88 ++ samples/yes/query-views.json | 56 + samples/yes/signing-port.json | 1 + samples/yes/typed-object.json | 78 ++ samples/yes/walk.json | 100 ++ src/cli/accept.ts | 30 +- src/cli/owner.ts | 19 +- src/cli/pass.ts | 25 +- src/cli/place.ts | 8 +- src/cli/verb.ts | 28 +- src/fold/claims.ts | 5 +- src/fold/closed.ts | 48 +- src/fold/digests.ts | 6 +- src/fold/observed.ts | 13 + src/fold/resolved.ts | 7 +- src/host/act-cost.ts | 16 + src/host/adapters/modules/javascript.ts | 36 + src/host/capsule-process.ts | 3 + src/host/capsule.ts | 11 +- src/host/ports/ingress.ts | 67 ++ src/host/reading-closures.ts | 92 ++ src/host/release.ts | 16 +- src/host/walk.ts | 142 +++ src/observe/regions.ts | 8 +- src/render/field.ts | 24 +- src/render/names.ts | 2 +- src/render/view.ts | 28 +- test/act-cost.test.ts | 21 + test/admission-boundary.test.ts | 4 +- test/archive.test.ts | 20 + test/capsule-entry.test.ts | 13 +- test/capsule-failure.test.ts | 2 +- test/capture.test.ts | 18 + test/demand-declaration.test.ts | 25 + test/device-evidence.test.ts | 36 +- test/ingress-clock.test.ts | 36 + test/instrument-closure.test.ts | 3 +- test/native-walk-refinement.test.ts | 3 + test/native-walk.test.ts | 3 + test/nonregional-claims.test.ts | 15 + test/pass-receipt-order.test.ts | 45 + test/public-receipt-portability.test.ts | 60 + test/reader-completion.test.ts | 7 +- test/reading-closures.test.ts | 36 + test/receipt-carrier.test.ts | 2 +- test/signing-port.test.ts | 36 +- test/typed-publication.test.ts | 11 + test/typed-walk-publication.test.ts | 3 + tools/samples/check-publication.mjs | 77 ++ tools/samples/check-walk-publication.mjs | 21 + tools/samples/evidence-worker.mjs | 4 + tools/samples/historical-build-worker.mjs | 3 + tools/samples/historical-document-worker.mjs | 4 + .../historical-presentation-worker.mjs | 4 + tools/samples/module-closure.mjs | 29 + tools/samples/program-worker.mjs | 4 + tools/samples/prose-worker.mjs | 4 + tools/samples/public-instrument.mjs | 31 + tools/samples/run-archive.mjs | 41 + tools/samples/run-evidence.mjs | 61 + tools/samples/run-historical-build.mjs | 43 + .../samples/run-historical-document-views.mjs | 56 + tools/samples/run-historical-presentation.mjs | 41 + tools/samples/run-program-views.mjs | 52 + tools/samples/run-prose-views.mjs | 48 + tools/samples/run-query-views.mjs | 31 + tools/samples/run-signing.mjs | 35 + tools/samples/run-typed-walk.mjs | 53 + tools/samples/run-typed.mjs | 153 +++ tools/samples/run-walk-refinement.mjs | 43 + tools/samples/run-walk.mjs | 109 ++ tools/samples/typed-provider.mjs | 18 + tools/samples/walk-sample-worker.mjs | 6 + vectors/015-stage-10.json | 47 + vectors/attest-evidence.json | 163 +++ vectors/historical-build.json | 164 +++ vectors/historical-document-views.json | 190 +++ vectors/historical-presentation.json | 174 +++ vectors/native-views.json | 159 +++ vectors/native-walk.json | 1058 +++++++++++++++++ .../process/admission-boundary.vector.json | 48 +- vectors/process/closed.vector.json | 3 +- vectors/process/flags.vector.json | 3 +- vectors/process/help.capture.json | 3 +- vectors/process/idempotent.vector.json | 3 +- vectors/process/meeting.capture.json | 3 +- vectors/process/nothing-deleted.vector.json | 3 +- vectors/process/offline.vector.json | 3 +- vectors/process/one-writer.vector.json | 3 +- vectors/process/refuse.vector.json | 3 +- vectors/process/resolve-by-url.vector.json | 3 +- vectors/process/stranger.vector.json | 3 +- vectors/process/usage.vector.json | 3 +- vectors/program-views.json | 168 +++ vectors/prose-views.json | 155 +++ vectors/query-views.json | 160 +++ vectors/signing-port.json | 150 +++ vectors/typed-object.json | 164 +++ vectors/walk-publication.json | 181 +++ 185 files changed, 7957 insertions(+), 291 deletions(-) create mode 100644 docs/contracts/015-stage-10.md create mode 100644 docs/contracts/archive-conformance.publication.json create mode 100644 docs/contracts/attest-evidence.publication.json create mode 100644 docs/contracts/cli-fold.md create mode 100644 docs/contracts/cli-fold.publication.json create mode 100644 docs/contracts/cli-land.md create mode 100644 docs/contracts/cli-land.publication.json create mode 100644 docs/contracts/cli-sign.md create mode 100644 docs/contracts/cli-sign.publication.json create mode 100644 docs/contracts/evidence-view.md create mode 100644 docs/contracts/publication.inventory.json create mode 100644 docs/contracts/publication.md create mode 100644 docs/contracts/typed-object.md create mode 100644 docs/contracts/typed-object.publication.json create mode 100644 docs/contracts/view-card.md create mode 100644 docs/contracts/view-card.publication.json create mode 100644 docs/contracts/view-citation-file.md create mode 100644 docs/contracts/view-citation-file.publication.json create mode 100644 docs/contracts/view-explanation.md create mode 100644 docs/contracts/view-explanation.publication.json create mode 100644 docs/contracts/view-guide.md create mode 100644 docs/contracts/view-guide.publication.json create mode 100644 docs/contracts/view-help.md create mode 100644 docs/contracts/view-help.publication.json create mode 100644 docs/contracts/view-lines.md create mode 100644 docs/contracts/view-lines.publication.json create mode 100644 docs/contracts/view-manifest-render.md create mode 100644 docs/contracts/view-manifest-render.publication.json create mode 100644 docs/contracts/view-programs.md create mode 100644 docs/contracts/view-programs.publication.json create mode 100644 docs/contracts/view-readme-historical.md create mode 100644 docs/contracts/view-readme-historical.publication.json create mode 100644 docs/contracts/view-receipts.md create mode 100644 docs/contracts/view-receipts.publication.json create mode 100644 docs/contracts/view-reference.md create mode 100644 docs/contracts/view-reference.publication.json create mode 100644 docs/contracts/view-release-workflow-render.md create mode 100644 docs/contracts/view-release-workflow-render.publication.json create mode 100644 docs/contracts/view-tsconfig.md create mode 100644 docs/contracts/view-tsconfig.publication.json create mode 100644 docs/contracts/view-usage-profile.md create mode 100644 docs/contracts/view-usage-profile.publication.json create mode 100644 docs/contracts/view-walk.md create mode 100644 docs/contracts/view-walk.publication.json create mode 100644 docs/contracts/view-why.md create mode 100644 docs/contracts/view-why.publication.json create mode 100644 samples/no/015-stage-10.json create mode 100644 samples/no/attest-evidence.json create mode 100644 samples/no/historical-build.json create mode 100644 samples/no/historical-document-views.json create mode 100644 samples/no/historical-presentation.json create mode 100644 samples/no/native-views.json create mode 100644 samples/no/program-views.json create mode 100644 samples/no/prose-views.json create mode 100644 samples/no/query-views.json create mode 100644 samples/no/signing-port.json create mode 100644 samples/no/typed-object.json create mode 100644 samples/no/walk.json create mode 100644 samples/typed/artifacts.json create mode 100644 samples/typed/artifacts.vector.json create mode 100644 samples/typed/contract.json create mode 100644 samples/typed/no.json create mode 100644 samples/typed/range.vector.json create mode 100644 samples/typed/wire.json create mode 100644 samples/typed/yes.json create mode 100644 samples/walk/no.json create mode 100644 samples/walk/refinement.json create mode 100644 samples/walk/typed-vector.json create mode 100644 samples/walk/yes.json create mode 100644 samples/yes/015-stage-10.json create mode 100644 samples/yes/attest-evidence.json create mode 100644 samples/yes/historical-build.json create mode 100644 samples/yes/historical-document-views.json create mode 100644 samples/yes/historical-presentation.json create mode 100644 samples/yes/native-views.json create mode 100644 samples/yes/program-views.json create mode 100644 samples/yes/prose-views.json create mode 100644 samples/yes/query-views.json create mode 100644 samples/yes/signing-port.json create mode 100644 samples/yes/typed-object.json create mode 100644 samples/yes/walk.json create mode 100644 src/host/act-cost.ts create mode 100644 src/host/adapters/modules/javascript.ts create mode 100644 src/host/ports/ingress.ts create mode 100644 src/host/reading-closures.ts create mode 100644 src/host/walk.ts create mode 100644 test/act-cost.test.ts create mode 100644 test/demand-declaration.test.ts create mode 100644 test/ingress-clock.test.ts create mode 100644 test/native-walk-refinement.test.ts create mode 100644 test/native-walk.test.ts create mode 100644 test/nonregional-claims.test.ts create mode 100644 test/pass-receipt-order.test.ts create mode 100644 test/public-receipt-portability.test.ts create mode 100644 test/reading-closures.test.ts create mode 100644 test/typed-publication.test.ts create mode 100644 test/typed-walk-publication.test.ts create mode 100644 tools/samples/check-publication.mjs create mode 100644 tools/samples/check-walk-publication.mjs create mode 100644 tools/samples/evidence-worker.mjs create mode 100644 tools/samples/historical-build-worker.mjs create mode 100644 tools/samples/historical-document-worker.mjs create mode 100644 tools/samples/historical-presentation-worker.mjs create mode 100644 tools/samples/module-closure.mjs create mode 100644 tools/samples/program-worker.mjs create mode 100644 tools/samples/prose-worker.mjs create mode 100644 tools/samples/public-instrument.mjs create mode 100644 tools/samples/run-archive.mjs create mode 100644 tools/samples/run-evidence.mjs create mode 100644 tools/samples/run-historical-build.mjs create mode 100644 tools/samples/run-historical-document-views.mjs create mode 100644 tools/samples/run-historical-presentation.mjs create mode 100644 tools/samples/run-program-views.mjs create mode 100644 tools/samples/run-prose-views.mjs create mode 100644 tools/samples/run-query-views.mjs create mode 100644 tools/samples/run-signing.mjs create mode 100644 tools/samples/run-typed-walk.mjs create mode 100644 tools/samples/run-typed.mjs create mode 100644 tools/samples/run-walk-refinement.mjs create mode 100644 tools/samples/run-walk.mjs create mode 100644 tools/samples/typed-provider.mjs create mode 100644 tools/samples/walk-sample-worker.mjs create mode 100644 vectors/015-stage-10.json create mode 100644 vectors/attest-evidence.json create mode 100644 vectors/historical-build.json create mode 100644 vectors/historical-document-views.json create mode 100644 vectors/historical-presentation.json create mode 100644 vectors/native-views.json create mode 100644 vectors/native-walk.json create mode 100644 vectors/program-views.json create mode 100644 vectors/prose-views.json create mode 100644 vectors/query-views.json create mode 100644 vectors/signing-port.json create mode 100644 vectors/typed-object.json create mode 100644 vectors/walk-publication.json diff --git a/CITATION.cff b/CITATION.cff index 99b6658..7a00d38 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,7 +2,7 @@ cff-version: 1.2.0 message: "Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice." type: software title: "@lapxo/bound" -version: "0.1.4" +version: "0.1.5" authors: - name: "Lapxo" license: "MIT" diff --git a/LICENSE b/LICENSE index 8788fc3..065c07b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,3 @@ -the license this place is bound by MIT License Copyright (c) 2026 Lapxo diff --git a/README.md b/README.md index 77edb0d..4750ed6 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ Declare what must hold. Read what does. Keep the evidence ```bash -npx @lapxo/bound@0.1.4 fold --as help -npx @lapxo/bound@0.1.4 fold +npx @lapxo/bound@0.1.5 fold --as help +npx @lapxo/bound@0.1.5 fold ``` ## How Bound reads a project @@ -49,11 +49,11 @@ lot_dir="$(mktemp -d)" Have the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`. ```sh -npx @lapxo/bound@0.1.4 sign "$lot_dir/proposal.bound" \ +npx @lapxo/bound@0.1.5 sign "$lot_dir/proposal.bound" \ --key "$BOUND_KEY_ID" --key-file "$BOUND_KEY_FILE" \ > "$lot_dir/signed.bound" && -npx @lapxo/bound@0.1.4 land "$lot_dir/signed.bound" && -npx @lapxo/bound@0.1.4 fold +npx @lapxo/bound@0.1.5 land "$lot_dir/signed.bound" && +npx @lapxo/bound@0.1.5 fold ``` `sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts. diff --git a/TARGET.bound b/TARGET.bound index 3776cf7..5783450 100644 --- a/TARGET.bound +++ b/TARGET.bound @@ -1,6 +1,29 @@ -bound-lock/1 about="# @lapxo/bound\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.4 fold --as help\nnpx @lapxo/bound@0.1.4 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.4 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.4 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.4 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.4 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.4 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n" at=witness:bound/014-candidate by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock +bound-lock/1 about="# @lapxo/bound\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n" at=witness:bound/015-prose-version by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock +bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary.\n\nRun `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins.\n\nThe no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped.\n" at=witness:publication-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock +bound-lock/1 about="# Build configuration — historical profile\n\nThe declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract.\n" at=witness:historical-build-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-tsconfig shape=docs/contracts/view-tsconfig.md value=lock +bound-lock/1 about="# Citation file — historical profile\n\nThe declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract.\n" at=witness:historical-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-citation-file shape=docs/contracts/view-citation-file.md value=lock bound-lock/1 about="# Contributing to Bound\n\nBring a counterexample, an observation or a proposed lot. Include the inputs and the output that led you to it. A signature establishes who was authorized to speak; it does not make their result true.\n\n## Set up a working copy\n\nClone the repository and use the Node version supported by package.json. If package-lock.json is present, run npm ci; otherwise use npm install --ignore-scripts --no-package-lock. Then run:\n\n```sh\nnpm run build\nnpm test\n```\n\nThese are development checks, not project acceptance. For a place with admitted trust context and native receipts, run the product judgement as well:\n\n```sh\nnpx @lapxo/bound@0.1.0 fold --check\n```\n\nPreserve a refusal and its exit status in your report. Do not borrow a neighbouring checkout's ledger or substitute local bytes for a named pin.\n\n## Make the smallest useful change\n\nBound owns admission, folding and evidence. Topos owns grammar, forms, classes, views and their contracts. A selected topos owns domain measurement. Obligations owns the algebra. Keep each change in its layer; do not put a domain decoder, path-based inference or a fallback for a missing pin into Bound.\n\nAn algebra change needs an independent oracle and a counterexample. A host change needs evidence for authentic bytes, failure propagation or reuse. A view change needs its declared region and implementation identity. A test should fail for a plausible incorrect implementation, not assert a source string or repeat the same expression on both sides.\n\nKeep regressions for changed signatures, unauthorized coverage, exact-id withdrawal, conflicting evidence, local versus travelling acts, corrupt content and duplicate delivery. Consolidate repeated setup and duplicate scenarios without removing distinct falsifiers.\n\n## Propose and admit\n\nKeep proposal and signed-lot files outside the repository. Use the current admitted wire, by=target, and no preassigned epoch or signature. The team's admitted key signs the lot; Bound admits it under scope coverage. The [usage guide](docs/usage.md) explains the transaction and external key-file requirements.\n\nSend the proposed lines with the leaf changes they render. A hand-edited render is evidence of the intended change, not an admitted contribution. Do not edit the accepted TARGET to make a test or ceiling pass. If a render disagrees with the lock, fix the proposed lines and re-render it.\n\nCommit only the project's TARGET.bound and native receipts.bound as bound files. The first .gitignore line excludes .bound/. Do not commit keys, stores, ledgers, caches, capsules, archives or vendored dependencies.\n\n## Submit a pull request\n\nExplain the concrete behavior before and after the change, the affected layer, and the checks you ran. Include stdout, stderr and exit status for a CLI case. State which reader and input bytes produced the evidence; a source harness is not an installed-package proof.\n\nPolicy changes receive explicit team review separately from measurements of the proposed source. Keep incompatible readings and their origins visible. Never remove a failing test or weaken a ceiling to obtain acceptance. Withdraw statements through their admitted history; do not rewrite prior signatures, tags or releases.\n\nDocumentation and workflows follow the same review: propose their lines and include the rendered changes.\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-1 shape=CONTRIBUTING.md value=lock -bound-lock/1 about="# Using Bound\n\nThis guide covers the current CLI in a place whose wire and authority are already admitted. A fresh unsigned TARGET is a proposal, not a trusted project. The prepared repository is not yet a certified empty-clone bootstrap.\n\n## Before the first fold\n\nYou need the team's accepted TARGET and trust context, authentic bytes for each selected digest, and the readers/views that TARGET names. Do not borrow a neighbouring repository's ledger or copy node_modules to make a missing pin look available.\n\nThe published repository carries exactly TARGET.bound and receipts.bound as bound files. Local admission history lives in the ignored .bound/ store. Published standing excludes the signature envelope; owner public keys retain their signatures.\n\nStart by asking for help and folding the project. If a selected view is unavailable, use the named refusal and its fix; do not invent an output with a similar name.\n\n## Keys and coverage\n\nUse a named key already admitted by the project. The authority contract declares its public key, class and scope coverage. Signing uses a declared port. The lock names `keys/ measure=signer value=`; `signer/timeout` and `signer/response-bytes` bound each invocation. The built-in `file` port reads a matching PKCS8 PEM outside the repository through `--key-file`. For a command port, the host supplies a `BOUND_SIGNERS` registry mapping that admitted name to `{ \"kind\": \"command\", \"executable\": \"...\", \"args\": [] }`. A repository declaration cannot authorize a program. `--signer ` must match the admitted selection.\n\nA new device must have its public key and coverage admitted by an authority that already covers the intended scope. The CLI does not currently certify silent key creation or tap-to-sign. This guide does not substitute a self-authorized fixture key for the team's authority.\n\nFor automation through the file port, supply the private key through the runner's secret storage to a temporary external file with restricted permissions. A command signer receives the lot once as canonical signed bytes, one line per record in order. It returns one canonical wire response per record, containing `by` and `sig`, in that same order. Bound verifies the entire reply against the admitted public key before any admission. Timeout, nonzero exit, missing or invalid replies refuse the whole lot; raw signer output is not logged. Hosts can keep private keys outside Bound through this port. Key generation, storage and rotation belong to the host. Do not print, commit or upload it. A source-control token and a Bound authority key have different purposes. Key rotation and revocation are changes to the admitted authority contract, not edits that erase prior signatures.\n\n## Proposal → signature → admission → reading\n\nPrepare the proposed lines outside the repository. Each line must use the current wire's fields, forms and required set. Configuration retains its legacy required fields, including `at`. Typed cells, claims and marks use their exact row grammar; `role=reads` or `at` cannot repair an incomplete typed record.\n\nA proposal names `by=target` and omits epoch/signature. The CLI assigns epoch from admitted history when signing. Never copy an epoch from an example or change a signed line's body.\n\nUse the signing and admission transaction in the README. Shell `&&` prevents a failed sign from being followed by land. Successful signing alone does not mean admission. Successful admission alone does not mean every requirement is paid. Fold after land and inspect its states, receipts and exit status.\n\nCLI sign authenticates wire inscriptions. It is different from the object's travelling ceiling sign. The selected Topos decodes spans and supplies origin/witness context; Bound must not guess those from by, widens or a path.\n\n## Reading and withdrawing\n\nAsk only for a view admitted by the project, such as cells. A local join widens that cell with a witness; it leaves the travelling ceiling live. A travelling require supplies a floor. Claims carry distinct origins; their signatures do not by themselves establish independent origins.\n\nFor typed histories, a negative record names the exact id in takes. Withdrawing a claim removes that live observation; withdrawing a join removes that local widening, not the sign. A fresh claim with the same content is a new identity, not resurrection of a withdrawn id. Re-delivery of the same signed bytes is idempotent.\n\nFor configuration, the negative line preserves the exact non-envelope selectors and changes value to withdraw. Do not withdraw and replace identical selectors in the same batch. Use a new epoch when superseding an alphabet declaration. Never withdraw evidence merely to obtain a green verdict.\n\n## Receipts and refusals\n\nreceipts.bound is native fold output. Do not write it by hand, use JSON from a test as a receipt, or copy receipts from another tree. Unchanged inputs can reuse verified region receipts; missing bytes require recomputation or a refusal. A duplicate receipt does not create another origin.\n\nREFUSE·wire means the current grammar does not admit the record. REFUSE·pin/release means named authentic content or its closure is unavailable or does not match. REFUSE·view means the requested view cannot be rendered under its contract. Authority refusal means the signer is not covered. Keep the line and the failed exit status; follow an explicit fix without changing the named digest or dropping a conflicting statement.\n\nrelease/blocks is policy read by the fold. Its admitted category links select existing obligations. The fold prints each missing reading or crossed ceiling as BLOCK; a blocked or incomplete policy is not READY. Read the captured verdict for the exact candidate instead of inferring acceptance from a successful render.\n\n## Repository and PR review\n\nThe accepted TARGET is independent of a contributor's scan. Commit native receipts and admitted renders, not local .bound/ state. A page disagreeing with TARGET must be re-rendered; a ceiling is not lowered to fit the page.\n\nA contribution is a proposed lot with the leaf changes rendered from it. Send that lot for admission by the team's coverage. Do not submit hand-edited lock output as already accepted. Check secrets, extra bound files, foreign vendoring and uncaptured page claims before review.\n\nA review includes the product fold, meaningful suites and verification of the rendered bytes. Preserve their actual output and exit status.\n" at=policy:bound/011-signing-docs by=target form=alphabet measure=text role=writes scope=prose/en/files/public-2 shape=docs/usage.md value=lock +bound-lock/1 about="# Declared programs\n\nThe programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed.\n" at=witness:declared-program-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-programs shape=docs/contracts/view-programs.md value=lock +bound-lock/1 about="# Demand card\n\nThe declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance.\n" at=witness:declared-program-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-card shape=docs/contracts/view-card.md value=lock +bound-lock/1 about="# Exact release artifact\n\nPacking is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes.\n\nThe archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed.\n\nThe samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan.\n\nThis is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions.\n\nRendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file.\n" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/archive-conformance shape=docs/contracts/015-stage-10.md value=lock +bound-lock/1 about="# Explanation — historical profile\n\nThe declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose.\n" at=witness:historical-presentation-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-explanation shape=docs/contracts/view-explanation.md value=lock +bound-lock/1 about="# Guide — historical profile\n\nThe declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound.\n" at=witness:historical-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-guide shape=docs/contracts/view-guide.md value=lock +bound-lock/1 about="# Help view\n\nA declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider.\n" at=witness:native-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/view-help shape=docs/contracts/view-help.md value=lock +bound-lock/1 about="# Lines view\n\nA declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading.\n" at=witness:native-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/view-lines shape=docs/contracts/view-lines.md value=lock +bound-lock/1 about="# Manifest render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package.\n" at=witness:prose-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-manifest-render shape=docs/contracts/view-manifest-render.md value=lock +bound-lock/1 about="# Published contracts\n\nEvery public surface names its contract, accepted sample, captured executable vector and rejected sample. Missing members, differing artifact digests and failed vectors remain unpaid. Publication conformance is distinct from installed-artifact acceptance.\n\nThe selected Topos projects each quartet as a reading through the existing wire. Execution proofs are dependency readings; identical vector bytes share one proof. Each reading names its exact handed inputs and dependent receipt digests. Bound verifies those closures and keeps native count/bytes receipts by digest. A closed reading costs no new execution. The publication aggregate reads the quartet receipts; it never starts an inventory batch.\n\nExecution slots, per-execution timeout and response bytes are declared resource lines in the selected Topos. Bounds remain unchanged. A failed reading is not cached as a successful proof. Earlier completed readings stay verified, so a later refusal does not force them to execute again. Changed, missing or corrupt bytes cannot reuse their receipts. Output and execution history retain their exact coordinates.\n\n## Act cost\n\nEach declared reading and each host invocation is measured separately. The total duration of a pass is a diagnostic; it is not the cost of one indivisible act. The cost/act ceiling reads the largest measured act or the remaining unpartitioned host work. Nested invocations are not charged twice. A slow or refused act retains its cost. Native reading receipts retain measured seconds separately from semantic identity; reusing a receipt performs no new reader execution. Missing historical durations are not invented as zero.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n" at=witness:public-receipts-verify-without-private-store by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-contract shape=docs/contracts/publication.md value=lock +bound-lock/1 about="# README — historical profile\n\nThe declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid.\n" at=witness:historical-presentation-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-readme-historical shape=docs/contracts/view-readme-historical.md value=lock +bound-lock/1 about="# Receipts view\n\nThe native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n" at=witness:public-receipts-verify-without-private-store by=target form=alphabet measure=text role=writes scope=prose/en/files/view-receipts shape=docs/contracts/view-receipts.md value=lock +bound-lock/1 about="# Reference — historical profile\n\nThe declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid.\n" at=witness:historical-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-reference shape=docs/contracts/view-reference.md value=lock +bound-lock/1 about="# Usage render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors.\n" at=witness:prose-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-usage-profile shape=docs/contracts/view-usage-profile.md value=lock +bound-lock/1 about="# Using Bound\n\nThis guide covers the current CLI in a place whose wire and authority are already admitted. A fresh unsigned TARGET is a proposal, not a trusted project. The prepared repository is not yet a certified empty-clone bootstrap.\n\n## Before the first fold\n\nYou need the team's accepted TARGET and trust context, authentic bytes for each selected digest, and the readers/views that TARGET names. Do not borrow a neighbouring repository's ledger or copy node_modules to make a missing pin look available.\n\nThe published repository carries exactly TARGET.bound and receipts.bound as bound files. Local admission history lives in the ignored .bound/ store. Published standing excludes the signature envelope; owner public keys retain their signatures.\n\nStart by asking for help and folding the project. If a selected view is unavailable, use the named refusal and its fix; do not invent an output with a similar name.\n\n## Keys and coverage\n\nUse a named key already admitted by the project. The authority contract declares its public key, class and scope coverage. Signing uses a declared port. The lock names `keys/ measure=signer value=`; `signer/timeout` and `signer/response-bytes` bound each invocation. The built-in `file` port reads a matching PKCS8 PEM outside the repository through `--key-file`. For a command port, the host supplies a `BOUND_SIGNERS` registry mapping that admitted name to `{ \"kind\": \"command\", \"executable\": \"...\", \"args\": [] }`. A repository declaration cannot authorize a program. `--signer ` must match the admitted selection.\n\nA new device must have its public key and coverage admitted by an authority that already covers the intended scope. The CLI does not currently certify silent key creation or tap-to-sign. This guide does not substitute a self-authorized fixture key for the team's authority.\n\nFor automation through the file port, supply the private key through the runner's secret storage to a temporary external file with restricted permissions. A command signer receives the lot once as canonical signed bytes, one line per record in order. It returns one canonical wire response per record, containing `by` and `sig`, in that same order. Bound verifies the entire reply against the admitted public key before any admission. Timeout, nonzero exit, missing or invalid replies refuse the whole lot; raw signer output is not logged. Hosts can keep private keys outside Bound through this port. Key generation, storage and rotation belong to the host. Do not print, commit or upload it. A source-control token and a Bound authority key have different purposes. Key rotation and revocation are changes to the admitted authority contract, not edits that erase prior signatures.\n\n## Proposal → signature → admission → reading\n\nPrepare the proposed lines outside the repository. Each line must use the current wire's fields, forms and required set. Configuration retains its legacy required fields, including `at`. Typed cells, claims and marks use their exact row grammar; `role=reads` or `at` cannot repair an incomplete typed record.\n\nA proposal names `by=target` and omits epoch/signature. The CLI assigns epoch from admitted history when signing. Never copy an epoch from an example or change a signed line's body.\n\nUse the signing and admission transaction in the README. Shell `&&` prevents a failed sign from being followed by land. Successful signing alone does not mean admission. Successful admission alone does not mean every requirement is paid. Fold after land and inspect its states, receipts and exit status.\n\nCLI sign authenticates wire inscriptions. It is different from the object's travelling ceiling sign. The selected Topos decodes spans and supplies origin/witness context; Bound must not guess those from by, widens or a path.\n\n## Reading and withdrawing\n\nAsk only for a view admitted by the project, such as cells. A local join widens that cell with a witness; it leaves the travelling ceiling live. A travelling require supplies a floor. Claims carry distinct origins; their signatures do not by themselves establish independent origins.\n\nFor typed histories, a negative record names the exact id in takes. Withdrawing a claim removes that live observation; withdrawing a join removes that local widening, not the sign. A fresh claim with the same content is a new identity, not resurrection of a withdrawn id. Re-delivery of the same signed bytes is idempotent.\n\nFor configuration, the negative line preserves the exact non-envelope selectors and changes value to withdraw. Do not withdraw and replace identical selectors in the same batch. Use a new epoch when superseding an alphabet declaration. Never withdraw evidence merely to obtain a green verdict.\n\n## Receipts and refusals\n\nreceipts.bound is native fold output. Do not write it by hand, use JSON from a test as a receipt, or copy receipts from another tree. Unchanged inputs can reuse verified region receipts; missing bytes require recomputation or a refusal. A duplicate receipt does not create another origin.\n\nREFUSE·wire means the current grammar does not admit the record. REFUSE·pin/release means named authentic content or its closure is unavailable or does not match. REFUSE·view means the requested view cannot be rendered under its contract. Authority refusal means the signer is not covered. Keep the line and the failed exit status; follow an explicit fix without changing the named digest or dropping a conflicting statement.\n\nrelease/blocks is policy read by the fold. Its admitted category links select existing obligations. The fold prints each missing reading or crossed ceiling as BLOCK; a blocked or incomplete policy is not READY. Read the captured verdict for the exact candidate instead of inferring acceptance from a successful render.\n\n## Repository and PR review\n\nThe accepted TARGET is independent of a contributor's scan. Commit native receipts and admitted renders, not local .bound/ state. A page disagreeing with TARGET must be re-rendered; a ceiling is not lowered to fit the page.\n\nA contribution is a proposed lot with the leaf changes rendered from it. Send that lot for admission by the team's coverage. Do not submit hand-edited lock output as already accepted. Check secrets, extra bound files, foreign vendoring and uncaptured page claims before review.\n\nA review includes the product fold, meaningful suites and verification of the rendered bytes. Preserve their actual output and exit status.\n\n## Declaring a demand\n\nA new demand records what remains to be proved. Admission does not create conformance evidence or pay it. An OWED line after land says the declaration was admitted and remains unpaid. Signing authority and conformance evidence are separate inputs.\n\nThe selected program projection reads declared requirements and handed evidence. Missing evidence stays unread; a missing elapsed-time reading is not zero. A dependency cannot close before its requirements and predecessors. Declaring a plan never certifies a release.\n" at=witness:declared-demand-close by=target form=alphabet measure=text role=writes scope=prose/en/files/public-2 shape=docs/usage.md value=lock +bound-lock/1 about="# Walk\n\n`bound fold --as walk@` compares the admitted place with an authenticated peer inventory. Resolution is interpreted by the declared Topos selection and projection contract; it is not restricted to three fixed numbers. The wire declares region membership, context, origin and cuts. The output names touched regions, open regions and payload bytes; protocol and imported bytes carry their own units.\n\nForeign history retains its signed origin epoch. Sender keys authenticate that history and never grant coverage or independent origins in the receiver. Whole-region prefixes are verified before ingress. Import and the receiver-signed local receipt commit atomically; only that receipt advances the receiver's local epoch. Foreign withdrawals are confined to the same authenticated origin and exact identifier. A repeated valid delivery adds no lines and retains its existing import receipt. A rejected or interrupted ingress adds neither evidence nor a receipt.\n\nThe published sample uses the same compiled public reader on measurement and artifact places. It compares equal summaries, opens a differing region, exchanges at intermediate declared resolutions, converges by union, retains disagreement and verifies replay after a later local act. It rejects tampered payloads, missing records, unauthorized signatures, non-prefix epochs and undeclared context changes. It interrupts a real receiver signer and verifies unchanged ingress and local history. Dead-owner recovery is a separate host action; this view does not silently recover it. The typed object's origin-local claims and withdrawals are a separate conformance vector, not inferred from configuration counts.\n" at=witness:publish-native-walk-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/view-walk shape=docs/contracts/view-walk.md value=lock +bound-lock/1 about="# Why a coordinate\n\n`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing.\n" at=witness:coordinate-query-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/view-why shape=docs/contracts/view-why.md value=lock +bound-lock/1 about="# Workflow render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate.\n" at=witness:prose-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-release-workflow-render shape=docs/contracts/view-release-workflow-render.md value=lock +bound-lock/1 about="# fold\n\n`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately.\n" at=witness:cli-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/cli-fold shape=docs/contracts/cli-fold.md value=lock +bound-lock/1 about="# land\n\n`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot.\n" at=witness:cli-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/cli-land shape=docs/contracts/cli-land.md value=lock +bound-lock/1 about="# sign\n\n`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included.\n" at=witness:cli-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/cli-sign shape=docs/contracts/cli-sign.md value=lock +bound-lock/1 about="## Typed cell, claim and mark records\n\nThe object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile.\n\n`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope.\n\nThe common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission.\n\n| Row | Fields in addition to the common envelope | Meaning |\n| --- | --- | --- |\n| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. |\n| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. |\n| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. |\n| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. |\n| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. |\n| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. |\n| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. |\n\nEach row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin.\n\nFor a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested.\n\nThe cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred.\n\n`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification.\n\nAfter admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters.\n\nThe package's `samples/walk/interval.json`, `interval.no.json`, `alphabet.json` and `alphabet.no.json` carry exact historical wire declarations and signed positive/negative exchange records. They are examples of declared profiles, not a production activation epoch or a promise that their keys authorize another place. Host-native object output remains a separate product vector.\n\n## Running the published place\n\nRun `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied.\n\nThe accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form.\n" at=witness:publication-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock bound-lock/1 about=", & " at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cite/and value=lock bound-lock/1 about="\nOne history, several viewsIllustrative spatial view of B, C, G and independent D. C rests on B and G rests on C. B's travelling ceiling is 0 to 50 and travelling floor 40 to 100. Its local join widens only B to 0 to 100. Region receipts retain selected topos and implementation identity. Background points are decorative, not additional measured cells.\n\n\n\n\n\n\n\n\n\nTHE ALGEBRA IN 60 SECONDS\nOne history. Several views.\nA cell keeps its readings. A connection carries only what travels.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTravelling bounds\nceiling 0..50floor 40..100\nB → C → G\n\nLocal join\nB widens to 0..100\nThe travelling sign stays live.\n\n\nB\nC\nG\nD\nceiling 0..50\nceiling 0..50\nIndependent cell\nD declares no rest on B.\nRegion: the cells selected by a view\n\nSelected topos\nForms and views · pinned folded standing\nReceipts at resolution 1\nSemantic inputs + selected implementation\nIllustrative layout · connections denote declared rest · position and size do not measure importance\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-3 shape=docs/readme-assets/atlas.svg value=lock bound-lock/1 about="A REFUSE prints its line and stops. Nothing after it is a fact." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/a-refuse-plants.json|samples/no/a-refuse-plants.json role=demands scope=law/a-refuse-plants value=present @@ -10,24 +33,47 @@ bound-lock/1 about="A fold" at=policy:bound/readme by=target form=alphabet measu bound-lock/1 about="A fold, live" at=policy:bound/door by=target form=alphabet measure=text role=writes scope=prose/en/seq/heading value=lock bound-lock/1 about="A line" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/line/heading value=present bound-lock/1 about="A lock is the set of lines a place is bound by. A receipt is what a reader saw. The fold is their meet. Each line carries scope, role, form, measure, value, needs, at, by, epoch, sig." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/the-object value=present +bound-lock/1 about="A new snapshot has a new evidence identity, not automatically a new independent origin. Preserve the admitted attribution and the chosen Topos's independence contract. Repeated readings, time periods, signing devices and receipt copies must not manufacture freedom." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/01 value=lock +bound-lock/1 about="A port's digest identifies executable bytes, not permission to execute them. Coverage, request authority, bounds, framing and resource dependencies are checked separately. `port/**` coverage is a proposed namespace policy to admit, not an existing universal authority rule." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/05 value=lock bound-lock/1 about="A second independent reader must agree. The fold rebuilds from the files alone, offline." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/verify-agrees.json|samples/no/verify-agrees.json role=demands scope=law/verify-agrees value=present +bound-lock/1 about="A sequence of declared readings is not an indivisible act. Preserve total pass time as a diagnostic; measure each reading and host invocation, account for unpartitioned work, keep refusals and the 60-second ceiling unchanged." at=witness:declared-act-cost by=target form=alphabet measure=text role=writes scope=rationale/015/cost-boundary value=present +bound-lock/1 about="Algebraic vacuity, absence of observations and lack of recent activity are separate facts. A view may expose inactivity over an admitted window, but cannot rename it algebraic vacuity or read missing history as zero." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/02 value=lock bound-lock/1 about="Bind a package release with the pipeline views. Bind a page to its receipts with view/readme. Refuse a dependency drift with dep pins. Ask a second head that must agree." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/learn value=present bound-lock/1 about="Bound is the application of that algebra: signed bounds, folded by one meet, refused when they fork." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/paper value=present -bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.4 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.4 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.4 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md)." at=witness:bound/014-candidate by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present +bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md)." at=witness:bound/015-prose-version by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present bound-lock/1 about="Cite it as {name}." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock bound-lock/1 about="Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/paper value=lock +bound-lock/1 about="Conflicting live wire declarations refuse by scope; no vacuous alphabet." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/wire/unique-live-alphabet.md|samples/yes/wire/unique-live-alphabet.json|vectors/wire/unique-live-alphabet.json|samples/no/wire/unique-live-alphabet.json role=demands scope=wire/unique-live-alphabet value=present bound-lock/1 about="Declare what must hold. Read what does. Keep the evidence." at=policy:bound/historical-prose by=target form=alphabet measure=text role=writes scope=docs/tagline value=present bound-lock/1 about="Declared runtime processes participate in the instrument implementation identity." at=policy:bound/receipts by=target form=alphabet kind=process measure=id needs=dist/cli/host.js|dist/cli/observe.js|dist/host/located.js|dist/host/provide.js role=writes scope=process/runtime value=present +bound-lock/1 about="Deterministic repair means a reproducible proposed lot, not automatic human approval. A red can lack measurements, authority, a witness or a unique repair. Such a case returns an explicit unmet requirement; it never invents a paying line." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/06 value=lock +bound-lock/1 about="Elapsed days from 2026-10-07; deadline 2026-10-21. An unread clock is not payment." at=policy:bound/015-plan by=target form=interval measure=days role=demands scope=plan/0.1.5/time value=0..14 +bound-lock/1 about="Every selected public coordinate has its exact contract/yes/vector/no quartet and executable conformance; availability is not proof." at=witness:publication-is-measured by=target form=interval measure=count needs=docs/contracts/publication.md|docs/contracts/publication.inventory.json role=reads scope=contract/published value=0..0 +bound-lock/1 about="Exchange cost requires units: transferred regions, payload bytes, protocol overhead and verification work. Reused regions transfer zero semantic payload. Variable-size regions cannot obey a byte ceiling stated merely as a count of open regions." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/03 value=lock bound-lock/1 about="First session" at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/seq/heading value=present bound-lock/1 about="First use" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/commands/heading value=lock +bound-lock/1 about="Historical file-fold illustration using cellOfLines; not the typed object. No admitted native observation vector certifies it in this release. Re-entry requires its contract, two unrelated native CLI places, a rejection sample and the exact installed vector. No current view is advertised; withdrawal is not payment." at=witness:withdraw-unpublished-legacy-views by=target form=alphabet measure=status needs=docs/contracts/view-figure-fold.md|samples/yes/view-figure-fold.json|vectors/view-figure-fold.json|samples/no/view-figure-fold.json role=demands scope=plan/0.1.6/view-figure-fold value=present +bound-lock/1 about="Historical illustration depends on genuine captured refusals; no complete shipped conformance vector currently certifies it. Re-entry requires its contract, two unrelated native CLI places, a rejection sample and the exact installed vector. No current view is advertised; withdrawal is not payment." at=witness:withdraw-unpublished-legacy-views by=target form=alphabet measure=status needs=docs/contracts/view-figure-refuses.md|samples/yes/view-figure-refuses.json|vectors/view-figure-refuses.json|samples/no/view-figure-refuses.json role=demands scope=plan/0.1.6/view-figure-refuses value=present +bound-lock/1 about="Historical line illustration depends on native said/lines receipts; no complete shipped conformance vector currently certifies it. Re-entry requires its contract, two unrelated native CLI places, a rejection sample and the exact installed vector. No current view is advertised; withdrawal is not payment." at=witness:withdraw-unpublished-legacy-views by=target form=alphabet measure=status needs=docs/contracts/view-figure-line.md|samples/yes/view-figure-line.json|vectors/view-figure-line.json|samples/no/view-figure-line.json role=demands scope=plan/0.1.6/view-figure-line value=present +bound-lock/1 about="Historical line region reads sources/; the native CLI returned empty and does not compute the promised standing pin. URLs are not pins. Re-entry requires its contract, two unrelated native CLI places, a rejection sample and the exact installed vector. No current view is advertised; withdrawal is not payment." at=witness:withdraw-unpublished-legacy-views by=target form=alphabet measure=status needs=docs/contracts/view-release.md|samples/yes/view-release.json|vectors/view-release.json|samples/no/view-release.json role=demands scope=plan/0.1.6/view-release value=present bound-lock/1 about="How Bound reads a project" at=policy:bound/historical-prose by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock bound-lock/1 about="How to add or change a lock" at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/exchange/heading value=present bound-lock/1 about="In an empty folder, write a three-line TARGET.bound, run bound ., and see the stranger four lines printed. Then land, then bound . --as card --key . A fact is a printed line." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/first-use/lead value=lock +bound-lock/1 about="Inventory actual installed public surface; missing artifacts remain unpaid." at=witness:exact-archive-conformance by=target form=alphabet measure=status needs=docs/contracts/015-stage-10.md|docs/contracts/cli-fold.md|docs/contracts/cli-land.md|docs/contracts/cli-sign.md|docs/contracts/evidence-view.md|docs/contracts/typed-object.md|docs/contracts/view-card.md|docs/contracts/view-citation-file.md|docs/contracts/view-explanation.md|docs/contracts/view-guide.md|docs/contracts/view-help.md|docs/contracts/view-lines.md|docs/contracts/view-manifest-render.md|docs/contracts/view-programs.md|docs/contracts/view-readme-historical.md|docs/contracts/view-receipts.md|docs/contracts/view-reference.md|docs/contracts/view-release-workflow-render.md|docs/contracts/view-tsconfig.md|docs/contracts/view-usage-profile.md|docs/contracts/view-walk.md|docs/contracts/view-why.md|samples/no/015-stage-10.json|samples/no/historical-document-views.json|samples/no/native-views.json|samples/no/program-views.json|samples/no/query-views.json|samples/no/signing-port.json|samples/no/typed-object.json|samples/no/walk.json|samples/yes/015-stage-10.json|samples/yes/historical-document-views.json|samples/yes/native-views.json|samples/yes/program-views.json|samples/yes/query-views.json|samples/yes/signing-port.json|samples/yes/typed-object.json|samples/yes/walk.json|vectors/015-stage-10.json|vectors/historical-document-views.json|vectors/native-views.json|vectors/program-views.json|vectors/query-views.json|vectors/signing-port.json|vectors/typed-object.json|vectors/walk-publication.json role=demands scope=plan/0.1.5/0 value=present bound-lock/1 about="Joining two files is putting their lines together: order does not matter, and a line twice is still one. A disagreement does not break the merge; it shows as CONFLICT. A file travels alone. Bound never guesses: one origin is REQUIRED, not FREE. Each of these is a test in bound/test/laws.test.ts." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/what-holds/lead value=lock bound-lock/1 about="Land the batch with the key that covers it." at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/seq/key value=present +bound-lock/1 about="MIT License\n\nCopyright (c) 2026 Lapxo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." at=witness:bound/015-standard-mit by=target form=alphabet measure=text role=writes scope=prose/en/files/license shape=LICENSE value=lock bound-lock/1 about="No fourth verb. A batch lands whole or not at all. A bound nobody has a reading for is refused. A changed byte of a signed line does not verify. Bound does not know whether a claim is true in the world: it knows who signed what, and whether the ranges meet." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/refuses/lead value=lock +bound-lock/1 about="Not every existing export needs removal because its docs are incomplete. Inventory supported package exports, CLI verbs/views, record families and provider-facing protocols. Distinguish documented public surface from internal implementation files; review accidental published subpaths. Withdraw public support through an explicit compatibility decision, not by erasing history or inventing new verbs." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/07 value=lock bound-lock/1 about="One lot lands one place. A lot for many places lands the same lines at each." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/one-lot-one-place.json|samples/no/one-lot-one-place.json role=demands scope=law/one-lot-one-place value=present bound-lock/1 about="Only the declared license is requested by this historical page." at=policy:bound/historical-prose by=target form=alphabet measure=id role=writes scope=docs/badges value=license +bound-lock/1 about="Optional Stage 3: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-3.md|samples/yes/015-stage-3.json|vectors/015-stage-3.json|samples/no/015-stage-3.json role=demands scope=plan/0.1.6/3 value=present +bound-lock/1 about="Optional Stage 4: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-4.md|samples/yes/015-stage-4.json|vectors/015-stage-4.json|samples/no/015-stage-4.json role=demands scope=plan/0.1.6/4 value=present +bound-lock/1 about="Optional Stage 6: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-6.md|samples/yes/015-stage-6.json|vectors/015-stage-6.json|samples/no/015-stage-6.json role=demands scope=plan/0.1.6/6 value=present +bound-lock/1 about="Optional Stage 7: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-7.md|samples/yes/015-stage-7.json|vectors/015-stage-7.json|samples/no/015-stage-7.json role=demands scope=plan/0.1.6/7 value=present +bound-lock/1 about="Optional Stage 8: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-8.md|samples/yes/015-stage-8.json|vectors/015-stage-8.json|samples/no/015-stage-8.json role=demands scope=plan/0.1.6/8 value=present +bound-lock/1 about="Optional Stage 9: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-9.md|samples/yes/015-stage-9.json|vectors/015-stage-9.json|samples/no/015-stage-9.json role=demands scope=plan/0.1.6/9 value=present +bound-lock/1 about="Output names the computation and distinguishes valid empty output from refusal." at=witness:published-plan-evidence by=target form=alphabet measure=status needs=docs/contracts/cli-fold.md|docs/contracts/typed-object.md|samples/no/native-views.json|samples/no/typed-object.json|samples/yes/native-views.json|samples/yes/typed-object.json|vectors/native-views.json|vectors/typed-object.json restsOn=plan/0.1.5/1 role=demands scope=plan/0.1.5/2 value=present bound-lock/1 about="Pending general document projection at .github/workflows/release.yml; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/workflow/release value=text@3 bound-lock/1 about="Pending general document projection at .github/workflows/tag.yml; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/workflow/tag value=text@3 bound-lock/1 about="Pending general document projection at .github/workflows/test.yml; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/workflow/test value=text@3 @@ -37,6 +83,8 @@ bound-lock/1 about="Pending general document projection at docs/readme-assets/at bound-lock/1 about="Pending general document projection at docs/usage.md; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/public-2 value=text@3 bound-lock/1 about="Pending general document projection at package.json; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/manifest value=text@3 bound-lock/1 about="Preview with fold --as before it lands." at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/seq/look value=present +bound-lock/1 about="Publish contracts and typed-object samples; attest evidence is visible through a declared view." at=witness:published-plan-evidence by=target form=alphabet measure=status needs=docs/contracts/evidence-view.md|docs/contracts/typed-object.md|samples/no/native-views.json|samples/no/typed-object.json|samples/yes/native-views.json|samples/yes/typed-object.json|vectors/native-views.json|vectors/typed-object.json restsOn=plan/0.1.5/0 role=demands scope=plan/0.1.5/1 value=present +bound-lock/1 about="Reading regions compose all adopted world answers with origins and disagreements retained; shaped files keep one writer." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/readings/compose-origins.md|samples/yes/readings/compose-origins.json|vectors/readings/compose-origins.json|samples/no/readings/compose-origins.json role=demands scope=readings/compose-origins value=present bound-lock/1 about="Rejected: a source URL does not define authenticated release lineage or order. A bump proposal requires an explicit release contract; downloaded bytes cannot replace an immutable standing pin." at=policy:bound/014-review by=target form=alphabet measure=text role=writes scope=policy/rejected/newest-by-url value=lock bound-lock/1 about="Rejected: empty output is not universally a failure. Missing required inputs remain unpaid; a completed empty result is valid only where its declared Topos contract permits it." at=policy:bound/014-review by=target form=alphabet measure=text role=writes scope=policy/rejected/empty-is-failure value=lock bound-lock/1 about="Rejected: key-name depth does not determine authority. Key identifier grammar and ambiguity belong to Topos; coverage and admitted public keys govern authorization." at=policy:bound/014-review by=target form=alphabet measure=text role=writes scope=policy/rejected/nested-key-authority value=lock @@ -45,13 +93,20 @@ bound-lock/1 about="Release selection of existing obligations; their fold eviden bound-lock/1 about="Release selection of existing obligations; their fold evidence determines the verdict." at=policy:bound/release by=target form=alphabet measure=id role=writes scope=release/category/cli value=cli/**|fold/idle|cost/act bound-lock/1 about="Release selection of existing obligations; their fold evidence determines the verdict." at=policy:bound/release by=target form=alphabet measure=id role=writes scope=release/category/integrity value=literal/host|literal/key|literal/org|literal/path|duplicate/src|door/unreceipted bound-lock/1 about="Release selection of existing obligations; their fold evidence determines the verdict." at=policy:bound/release by=target form=alphabet measure=id role=writes scope=release/category/pins value=resolve-by-url|offline|the-stranger +bound-lock/1 about="Render documentation and standard MIT license; verify one exact staged artifact." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-10.md|samples/yes/015-stage-10.json|vectors/015-stage-10.json|samples/no/015-stage-10.json restsOn=plan/0.1.5/5 role=demands scope=plan/0.1.5/10 value=present +bound-lock/1 about="Render only this place admitted MIT text through the selected generic prose provider." at=witness:bound/015-standard-mit by=target form=alphabet measure=id needs=LICENSE role=demands scope=view/license-native shape=LICENSE value=text@3 bound-lock/1 about="Render this place admitted manifest prose through the existing explicitly selected text provider; general document capability demands remain unchanged." at=policy:bound/presentation by=target form=alphabet measure=id needs=package.json role=demands scope=view/manifest-render shape=package.json value=text@3 +bound-lock/1 about="Reported unpaid by the Head clean-install matrix: authority-class evidence is exposed but attest receipts appear in no view. Confirm against exact archive; preserve admitted attribution." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/evidence-view.md|samples/yes/attest-evidence.json|vectors/attest-evidence.json|samples/no/attest-evidence.json role=demands scope=contract/published/attest-evidence-view value=present +bound-lock/1 about="Reported unpaid by the Head clean-install matrix: the typed-object sample is absent from the package. Confirm against exact archive; no receipt is fabricated." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/typed-object.md|samples/yes/typed-object.json|vectors/typed-object.json|samples/no/typed-object.json role=demands scope=contract/published/typed-object-sample value=present bound-lock/1 about="Rewriting hero, idea and the other section regions as compositions of atoms is 0.1.1, not done quietly here." at=policy:bound/010 by=target form=alphabet kind=conjecture measure=status role=demands scope=open/section-regions-as-atoms value=present +bound-lock/1 about="Source origin is distinct from local coordinates; requested verified bytes are handed to every declared eligible reader." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/region/origin-input.md|samples/yes/region/origin-input.json|vectors/region/origin-input.json|samples/no/region/origin-input.json role=demands scope=region/origin-input value=present bound-lock/1 about="The coordinate of the observed host implementation digest in the native receipt set." at=policy:bound/receipts by=target form=alphabet measure=id role=writes scope=audit/wire/receipt-instrument value=instrument/implementation bound-lock/1 about="The explicitly selected historical document profile over this place own prose; general text@3 demands remain unpaid." at=policy:readme-without-debt-section by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 bound-lock/1 about="The native public receipt carries its actual observed set at resolution 8 before the authenticated summary at resolution 0 and current region bytes at resolution 1." at=witness:a-public-receipt-carries-its-observations by=target form=alphabet measure=id role=demands scope=view/receipts shape=receipts.bound value=receipts@8|receipts@0|receipts@1 bound-lock/1 about="The object" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/the-object/heading value=lock bound-lock/1 about="The paper" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/the-paper/heading value=lock +bound-lock/1 about="The previously declared cell card remains available under its explicit object coordinate; it is not silently treated as a demand scheduler." at=witness:preserved-cell-card by=target form=alphabet measure=id role=demands scope=view/object-card value=cells +bound-lock/1 about="The proposed laws are not already paid merely because this text names them. Inventory actual standing lines and current evidence first. New laws, category links and grammar require named admission acts. Obligations remains unchanged." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/08 value=lock bound-lock/1 about="The same signed lot and admitted snapshot share admission validation; a prospective reading neither admits nor writes. The vector reports failures; unread is not agreement." at=witness:prospective-admission-agrees by=target form=interval measure=count needs=samples/admission/yes/one-boundary.json|samples/admission/no/one-boundary.json|test/admission-boundary.test.ts|vectors/process/admission-boundary.vector.json role=reads scope=admission/one-boundary value=0..0 bound-lock/1 about="This place own build option, observed from its source tsconfig for the selected historical build profile." at=policy:bound/build-profile by=target form=alphabet measure=id role=writes scope=build/allowImportingTsExtensions shape=tsconfig.json value=true bound-lock/1 about="This place own build option, observed from its source tsconfig for the selected historical build profile." at=policy:bound/build-profile by=target form=alphabet measure=id role=writes scope=build/composite shape=tsconfig.json value=true @@ -76,6 +131,8 @@ bound-lock/1 about="This place requests complete blocks at resolution three from bound-lock/1 about="Try it" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/first-use/heading value=lock bound-lock/1 about="Two-Sided Constraints on a Valued Lattice" at=policy:bound/010 by=target form=alphabet measure=author role=writes scope=cites/two-sided-constraints value="Ochoa, N." bound-lock/1 about="Two-Sided Constraints on a Valued Lattice" at=policy:bound/010 by=target form=alphabet measure=doi role=writes scope=cites/two-sided-constraints value=10.5281/zenodo.21858428 +bound-lock/1 about="Unpaid optional stages carry to 0.1.6 only when the admitted time ceiling reads red; mandatory stages remain gates." at=policy:bound/015-plan by=target form=alphabet measure=id role=writes scope=scope/carry-over value=plan/0.1.6 +bound-lock/1 about="Walk exchanges admitted regional evidence by declared wire; disagreements remain." at=witness:published-plan-evidence by=target form=alphabet measure=status needs=docs/contracts/view-walk.md|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json restsOn=plan/0.1.5/2 role=demands scope=plan/0.1.5/5 value=present bound-lock/1 about="What holds" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/what-holds/heading value=lock bound-lock/1 about="What is open" at=policy:bound/paid by=target form=alphabet measure=text role=writes scope=prose/en/open/heading value=lock bound-lock/1 about="What it refuses" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/refuses/heading value=lock @@ -83,13 +140,13 @@ bound-lock/1 about="What it refuses" at=policy:bound/010-figure by=target form=a bound-lock/1 about="What it rests on" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/rests/heading value=lock bound-lock/1 about="What rests on it" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/rested/heading value=lock bound-lock/1 about="Write the line as by=target." at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/seq/line value=present +bound-lock/1 about="Zero port invocations applies to selection/help, receipt-only check, prospective evaluation and signing's observation/execution ports. Signing necessarily invokes its declared signer. A shaped render, observation or admitted verification request may execute its explicitly requested provider under the relevant contract. Never hide execution behind a purported inspection command." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/04 value=lock bound-lock/1 about="`{scope}` is demanded and not paid" at=policy:bound/paid by=target form=alphabet measure=text role=writes scope=prose/en/open/unpaid value=lock bound-lock/1 about="`{scope}` reads `{reading}`, outside its ceiling" at=policy:bound/paid by=target form=alphabet measure=text role=writes scope=prose/en/open/outside value=lock bound-lock/1 about="a byte lives only while a standing line names it: the store is the receipts of blobs, laid snapshots and answer caches, and 2G is the ceiling" at=policy:bound/store by=target form=interval measure=bytes role=reads scope=store/bytes value=0..2000000000 bound-lock/1 about="a capsule as it declares itself: the lines of its own lock, handed whole as the host reads them, never its files" at=policy:bound/regions by=target form=alphabet measure=lines role=reads scope=region/capsule value=capsule.bound bound-lock/1 about="a capture of the CLI on the meeting sample agrees with this fold" at=witness:project-coordinates-are-relative by=target form=interval measure=capture-differs needs=samples/yes/meeting.bound role=reads scope=capture/differs value=0..0 bound-lock/1 about="a fold runs where freedom remains: a region whose bytes meet its receipt at resolution 1 is closed, and the receipt is the result" at=witness:a-fold-over-a-closed-region by=target form=interval measure=idle role=reads scope=fold/idle value=0..0 -bound-lock/1 about="a line of the lock, drawn from the citation sample" at=witness:project-coordinates-are-relative by=target form=alphabet measure=id needs=docs/img/line.svg|samples/yes/line.bound role=demands scope=view/figure-line shape=docs/img/line.svg value=figure-line@1 bound-lock/1 about="a lock is stale only when its pid is gone, and an accept that dies prints REFUSE·crash" at=witness:a-dead-pid-is-stale by=target form=alphabet measure=id role=reads scope=act/stale value=esrch bound-lock/1 about="a one-line index in the tree is loaded by role, each region by name" at=witness:a-located-index-loaded-by-role by=target form=alphabet measure=id role=reads scope=host/located value=role bound-lock/1 about="after the host surface cut, the host is the lines the fold prints for src/host|src/observe|src/cli" at=witness:host-io-split-recounted-the-kernel by=target form=interval measure=host-lines role=reads scope=host/lines value=0..3269 @@ -119,7 +176,7 @@ bound-lock/1 about="lines, not a page: blobs, laid snapshots and answer caches n bound-lock/1 about="name: release\non:\n workflow_run:\n workflows: [tag]\n types: [completed]\n push:\n tags: ['v*']\njobs:\n release:\n if: github.event_name == 'push' || (github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main')\n runs-on: ubuntu-latest\n permissions:\n contents: write\n outputs:\n tag: ${{ steps.version.outputs.tag }}\n asset: ${{ steps.archive.outputs.asset }}\n sha256: ${{ steps.archive.outputs.sha256 }}\n steps:\n - uses: actions/checkout@v4\n with:\n ref: ${{ github.event.workflow_run.head_sha || github.sha }}\n fetch-depth: 0\n - id: version\n env:\n EVENT_NAME: ${{ github.event_name }}\n REF_NAME: ${{ github.ref_name }}\n run: |\n version=\"v$(node -p \"require('./package.json').version\")\"\n if [ \"$EVENT_NAME\" = push ]; then\n test \"$REF_NAME\" = \"$version\"\n fi\n git rev-parse --verify \"refs/tags/$version\"\n echo \"tag=$version\" >> \"$GITHUB_OUTPUT\"\n git checkout --detach \"$version\"\n - uses: actions/setup-node@v4\n with:\n node-version: 24\n - run: npm ci\n - run: npm run build\n - run: npm test\n - run: node dist/cli/verb.js fold --check\n - id: archive\n env:\n GH_TOKEN: ${{ github.token }}\n run: |\n version=\"${{ steps.version.outputs.tag }}\"\n asset=\"$(npm pack --ignore-scripts --silent)\"\n echo \"asset=$asset\" >> \"$GITHUB_OUTPUT\"\n expected=\"$(sha256sum \"$asset\" | cut -d ' ' -f 1)\"\n echo \"sha256=$expected\" >> \"$GITHUB_OUTPUT\"\n if ! gh release view \"$version\" >/dev/null 2>&1; then\n gh release create \"$version\" \"$asset\" --title \"$version\" --notes \"$(git log -1 --format=%B)\"\n fi\n download_dir=\"$(mktemp -d)\"\n gh release download \"$version\" --pattern \"$asset\" --dir \"$download_dir\"\n actual=\"$(sha256sum \"$download_dir/$asset\" | cut -d ' ' -f 1)\"\n test \"$expected\" = \"$actual\"\n publish:\n needs: release\n environment: release\n runs-on: ubuntu-latest\n permissions:\n contents: read\n id-token: write\n steps:\n - uses: actions/checkout@v4\n with:\n ref: ${{ needs.release.outputs.tag }}\n - uses: actions/setup-node@v4\n with:\n node-version: 24\n - run: npm install --global npm@'12.1.0'\n - env:\n GH_TOKEN: ${{ github.token }}\n TAG: ${{ needs.release.outputs.tag }}\n ASSET: ${{ needs.release.outputs.asset }}\n EXPECTED: ${{ needs.release.outputs.sha256 }}\n run: |\n mkdir candidate\n gh release download \"$TAG\" --pattern \"$ASSET\" --dir candidate\n actual=\"$(sha256sum \"candidate/$ASSET\" | cut -d ' ' -f 1)\"\n test \"$EXPECTED\" = \"$actual\"\n npm stage publish \"./candidate/$ASSET\" --access public --ignore-scripts\n" at=policy:bound/011-port-release by=target form=alphabet measure=text role=writes scope=prose/en/files/workflow/release shape=.github/workflows/release.yml value=lock bound-lock/1 about="name: tag\non:\n workflow_run:\n workflows: [test]\n types: [completed]\njobs:\n tag:\n if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' && github.event.workflow_run.head_branch == 'main'\n runs-on: ubuntu-latest\n permissions:\n contents: write\n steps:\n - uses: actions/checkout@v4\n with:\n ref: ${{ github.event.workflow_run.head_sha }}\n fetch-depth: 0\n - run: |\n version=\"v$(node -p \"require('./package.json').version\")\"\n git tag --list \"$version\" | grep -q . && exit 0\n git tag \"$version\" && git push origin \"$version\"\n" at=policy:bound/pipeline by=target form=alphabet measure=text role=writes scope=prose/en/files/workflow/tag shape=.github/workflows/tag.yml value=lock bound-lock/1 about="name: test\non:\n push:\n branches: [main]\n pull_request:\njobs:\n test:\n strategy:\n fail-fast: false\n matrix:\n node: [22, 24]\n runs-on: ubuntu-latest\n permissions:\n contents: read\n steps:\n - uses: actions/checkout@v4\n - uses: actions/setup-node@v4\n with:\n node-version: ${{ matrix.node }}\n - run: npm ci\n - run: npm run build\n - run: npm test\n - name: Verify native closure and receipt reuse\n run: |\n node dist/cli/verb.js fold --check > \"$RUNNER_TEMP/bound-check.log\" 2>&1 || { cat \"$RUNNER_TEMP/bound-check.log\"; exit 1; }\n cat \"$RUNNER_TEMP/bound-check.log\"\n grep -Eq '^PASS +closed' \"$RUNNER_TEMP/bound-check.log\"\n grep -Eq '^RECEIPTS [1-9][0-9]* read · 0 opened' \"$RUNNER_TEMP/bound-check.log\"\n - run: npm pack --silent\n" at=policy:bound/pipeline by=target form=alphabet measure=text role=writes scope=prose/en/files/workflow/test shape=.github/workflows/test.yml value=lock -bound-lock/1 about="npx @lapxo/bound@0.1.4 fold --as help\nnpx @lapxo/bound@0.1.4 fold" at=witness:bound/014-candidate by=target form=alphabet measure=text role=writes scope=prose/en/commands value=lock +bound-lock/1 about="npx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold" at=witness:bound/015-prose-version by=target form=alphabet measure=text role=writes scope=prose/en/commands value=lock bound-lock/1 about="obligations is the meet. topos is the line. Worlds outside bound read a calendar, a package, a page. Bound reads lines, folds them, lands what was signed, and signs." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/rests/on value=present bound-lock/1 about="one origin is REQUIRED, two that meet inside every bound are FREE, two that meet outside a bound are FORBIDDEN, and two that do not meet are CONFLICT" at=policy:bound/010-states by=target form=alphabet measure=id role=writes scope=notation/states value="one origin=REQUIRED|claims that meet and fit the bounds=FREE|claims that meet outside the bounds=FORBIDDEN|bounds that cross=CONFLICT" bound-lock/1 about="take the package in" at=policy:bound/door by=target form=alphabet measure=id role=writes scope=install value=npx @@ -184,7 +241,6 @@ bound-lock/1 about="the fields the line figure fills" at=policy:bound/readme by= bound-lock/1 about="the fields the refuses figure fills" at=policy:bound/010-figure by=target form=alphabet measure=id role=writes scope=form/template/figure/refuses value=input|why bound-lock/1 about="the fields the what-holds axiom line fills" at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=form/template/what-holds/axiom value=sentence|name|rests bound-lock/1 about="the fold as wire lines, so a script reads lines rather than parsing the human form" at=policy:bound/010 by=target form=alphabet measure=id role=demands scope=view/lines value=lines -bound-lock/1 about="the fold drawn from the meeting-time sample: two claims that meet and one that falls apart" at=witness:project-coordinates-are-relative by=target form=alphabet measure=id needs=docs/img/fold.svg|samples/yes/meeting.bound role=demands scope=view/figure-fold shape=docs/img/fold.svg value=figure-fold@1 bound-lock/1 about="the folder the no samples of this place live in" at=witness:project-coordinates-are-relative by=target form=alphabet measure=id role=writes scope=samples/no value=samples/no bound-lock/1 about="the folder the yes samples of this place live in" at=witness:project-coordinates-are-relative by=target form=alphabet measure=id role=writes scope=samples/yes value=samples/yes bound-lock/1 about="the forge capsule that answers github-actions and renders the publish auth a place names — a token as the secret it names, trusted as the workflow's own identity — packed against the notation release and the algebra release, each laid from its digest; the release before it stays named until no view reads the regions only it answers" at=witness:a-token-auth-no-law-read by=target form=alphabet measure=id role=writes scope=dep/topos-github/actions shape=dist/index.js value=sha256:8ad84ca313988769a933bedf0a7f4fb87d087b9a5911b1df6b984557ddafb294 @@ -234,10 +290,9 @@ bound-lock/1 about="the release of the forge capsule, named by the digest of wha bound-lock/1 about="the release of the language capsule, named by the digest of what its published place holds" at=policy:bound/one-cell by=target form=alphabet measure=id role=reads scope=dep/topos-typescript-tree value=sha256:fcd87e3dcb13cb4f4bcb8f96b5cab419b8ee6930612979bb6f143c8a1a3dcc98 bound-lock/1 about="the release of the lock reader, named by the digest of what its published place holds" at=policy:bound/one-cell by=target form=alphabet measure=id role=reads scope=dep/topos-bound value=sha256:23ea35997c2ada24d7f0da362b9bd112ed52c1ab9bbcdcea1e9eeb91699bd854 bound-lock/1 about="the release of the node package capsule, named by the digest of what its published place holds" at=policy:bound/one-cell by=target form=alphabet measure=id role=reads scope=dep/topos-node value=sha256:c4ae9ecd8ecc422f6eedc17ae02202611517ae1a0c42ed1dbfcfcc97b534119e -bound-lock/1 about="the release of the notation, named by the digest of what its published place holds" at=witness:bound/014-sdk-published by=target form=alphabet measure=id needs=node_modules/@lapxo/topos role=reads scope=dep/topos shape=package value=sha256:ff642185cfb19d7555fb941575bd714e54f854c2f4fadf34b156bc684db4b885 +bound-lock/1 about="the release of the notation, named by the digest of what its published place holds" at=witness:published-topos-011 by=target form=alphabet measure=id needs=node_modules/@lapxo/topos role=reads scope=dep/topos shape=package value=sha256:9562133f6ac7a94630333715d62acda5c29e2f0e88d5c68d1b2966b03879c330 bound-lock/1 about="the release of the pages capsule, named by the digest of what its published place holds" at=policy:bound/one-cell by=target form=alphabet measure=id role=reads scope=dep/topos-doc value=sha256:adc787638f8cb2c9f050b295e30a7959830682e793e6e5f3e265c85bd6ce6ebb bound-lock/1 about="the release of the vectors reader, named by the digest of what its published place holds" at=witness:vectors-read-without-a-row-per-region by=target form=alphabet measure=id role=reads scope=dep/topos-json value=sha256:ddee424ba7c852f966569250f6b5520ecf4079a86cec673ac1a4fc88a934a56d -bound-lock/1 about="the release pin of a world, never drawn on the door" at=policy:bound/readme by=target form=alphabet measure=id role=demands scope=view/release value=line bound-lock/1 about="the scopes a born lock keeps an about on, even when the measure is not text" at=policy:bound/wire-words by=target form=alphabet measure=id role=writes scope=audit/wire/kept-about value=license bound-lock/1 about="the second head, asked live when its latest word rests on another lock: the program that folds the ledger without bound, run with no key; what it says is read, never kept" at=policy:bound/heads by=target form=alphabet measure=id role=reads scope=head/second value=verify/src/cli.ts bound-lock/1 about="the shape a published place pins as: the one word the instrument asks of the lock, never guessed by length or letter" at=policy:bound/wire-words by=target form=alphabet measure=id role=writes scope=audit/wire/pin-shape value=package @@ -254,23 +309,23 @@ bound-lock/1 about="the typescript tree world after its released capsule: said, bound-lock/1 about="the vectors a place holds, a row per region, as the fold counts them from its receipts" at=policy:bound/regions by=target form=alphabet measure=receipts role=reads scope=region/vectors value=vector/** bound-lock/1 about="the vectors world saying its own description in its own lock: the regions of 2fb13c6f unchanged, its prose under its key; packed from releases only, topos 0.1.2 and the algebra release, each laid from its digest" at=policy:bound/capsules by=target form=alphabet measure=id role=writes scope=dep/topos-json/own-what shape=dist/index.js value=sha256:5ec73255e3f089e3b9c7bc1d6351a07b8aa302a346fe16ed44cbcb67293c7891 bound-lock/1 about="the version the forge tags, read from the manifest" at=policy:bound/pipeline by=target form=alphabet measure=id role=writes scope=pipeline/version value="node -p \"require('./package.json').version\"" -bound-lock/1 about="the version this place is bound at" at=witness:bound/014-candidate by=target form=alphabet measure=id role=writes scope=version value=0.1.4 +bound-lock/1 about="the version this place is bound at" at=witness:bound/015-candidate by=target form=alphabet measure=id role=writes scope=version value=0.1.5 bound-lock/1 about="the writer that vouches each source at the digest a take judged it: a family the wire lists, which bound reads here and never spells" at=policy:bound/store by=target form=alphabet measure=id role=reads scope=store/vouches value=tree bound-lock/1 about="this place is a package: class defaults of package resolve here" at=policy:bound/place by=target form=alphabet measure=id role=writes scope=place/kind value=package bound-lock/1 about="topos-node with a thin manifest: no typesVersions, main or types, dev dependencies only where a line says so, and a bin field from the place bin/ lines" at=policy:bound/capsules by=target form=alphabet measure=id role=writes scope=dep/topos-node/thin-manifest shape=dist/index.js value=sha256:da1fd0bb74f72ae95bce5929055c50ccd150d8903ba5560d99df48bf236d8dc0 bound-lock/1 about="two renders of an SVG sample are the same bytes" at=witness:project-coordinates-are-relative by=target form=interval measure=redrawn needs=docs/img role=reads scope=figures/redrawn value=0..0 bound-lock/1 about="usage, rendered from VERB_NAMES and FLAGS, never written by hand" at=policy:bound/010 by=target form=alphabet measure=id role=demands scope=view/help value=help bound-lock/1 about="views/world resolves into worlds, and a place's bytes are its files, its lock, and the root lines that resolve into it" at=witness:a-world-line-opens-worlds by=target form=alphabet measure=id role=reads scope=bytes/world value=worlds -bound-lock/1 about="what a fold refuses, drawn from the first refused case" at=witness:project-coordinates-are-relative by=target form=alphabet measure=id needs=docs/img/refuses.svg role=demands scope=view/figure-refuses shape=docs/img/refuses.svg value=figure-refuses@1 bound-lock/1 about="what a place own lock says for the tree under its own name: its prose, and the silent substitutions it bounds in its own code, the place written after the steps the glob names" at=policy:bound/places by=target form=alphabet measure=id role=reads scope=place/speaks-under value=prose/*|hazard/silent-substitution -bound-lock/1 about="what is open, as cards, one lane at a time: / --as card --key lane-X" at=policy:bound/views by=target form=alphabet measure=id role=demands scope=view/card value=cells +bound-lock/1 about="what is open, as cards, one lane at a time: / --as card --key lane-X" at=witness:declared-plan-card by=target form=alphabet measure=id role=demands scope=view/card value=demand-card@8 bound-lock/1 about="what the CLI printed on a sample and the REFUSE a drafted land printed, kept as receipts" at=policy:bound/doi by=target form=alphabet measure=receipts role=reads scope=region/captures value=capture/**|*refused* bound-lock/1 about="what the forge runs to check this place: the suites, then a quiet fold" at=policy:bound/pipeline-published-dependencies by=target form=alphabet measure=id role=writes scope=pipeline/check value="npm test && node dist/cli/verb.js fold --check" bound-lock/1 about="what the second head found, which leaves the place has written, and the place's own readings as the fold holds them: the verdict line's counts, each of the place's own ceilings as the fold reads it, unpaid and outside reds, RANK readings, the walk, captures, figures, literals and the door" at=witness:project-coordinates-are-relative by=target form=alphabet measure=receipts role=reads scope=region/state value=second/verdict|write/**|leaf/**|verdict/*|audit/*|coordinate/**|asked/**|unpaid/**|outside/**|fold/idle|cost/act|cli/verbs|store/bytes|src/lines|literal/**|duplicate/**|door/unreceipted|figures/**|capture/**|walk/** bound-lock/1 about="when the apart claim is withdrawn" at=policy:bound/door by=target form=alphabet measure=id role=writes scope=form/style/fold/back value=2.2 bound-lock/1 about="where a located world keeps each region file, by directory and extension, so the host loads the tree beside the pin" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=release/layout value=src/regions:.ts bound-lock/1 about="who signs this place" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=author value=Lapxo -bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.4\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"0.1.9\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}" at=witness:bound/014-candidate by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock +bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"samples/typed/*.json\",\n \"tools/samples/*.mjs\",\n \"samples/walk/*.json\",\n \"vectors/native-walk.json\",\n \"docs/contracts/**/*\",\n \"samples/yes/typed-object.json\",\n \"samples/no/typed-object.json\",\n \"samples/yes/attest-evidence.json\",\n \"samples/no/attest-evidence.json\",\n \"vectors/typed-object.json\",\n \"vectors/attest-evidence.json\",\n \"samples/yes/signing-port.json\",\n \"samples/no/signing-port.json\",\n \"vectors/signing-port.json\",\n \"samples/yes/native-views.json\",\n \"samples/no/native-views.json\",\n \"vectors/native-views.json\",\n \"samples/yes/query-views.json\",\n \"samples/no/query-views.json\",\n \"vectors/query-views.json\",\n \"samples/yes/prose-views.json\",\n \"samples/no/prose-views.json\",\n \"vectors/prose-views.json\",\n \"samples/yes/program-views.json\",\n \"samples/no/program-views.json\",\n \"vectors/program-views.json\",\n \"samples/yes/historical-document-views.json\",\n \"samples/no/historical-document-views.json\",\n \"vectors/historical-document-views.json\",\n \"samples/yes/historical-build.json\",\n \"samples/no/historical-build.json\",\n \"vectors/historical-build.json\",\n \"samples/yes/historical-presentation.json\",\n \"samples/no/historical-presentation.json\",\n \"vectors/historical-presentation.json\",\n \"samples/yes/walk.json\",\n \"samples/no/walk.json\",\n \"vectors/walk-publication.json\",\n \"samples/yes/015-stage-10.json\",\n \"vectors/015-stage-10.json\",\n \"samples/no/015-stage-10.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock +bound-lock/1 about="{\n \"profile\": \"quartet-process@1\",\n \"scope\": \"contract/published\",\n \"surface\": [\n \"contract/published/attest-evidence-view\",\n \"contract/published/cli/fold\",\n \"contract/published/cli/land\",\n \"contract/published/cli/sign\",\n \"contract/published/pipeline/archive\",\n \"contract/published/typed-object-sample\",\n \"contract/published/view/card\",\n \"contract/published/view/citation-file\",\n \"contract/published/view/explanation\",\n \"contract/published/view/guide\",\n \"contract/published/view/help\",\n \"contract/published/view/lines\",\n \"contract/published/view/manifest-render\",\n \"contract/published/view/programs\",\n \"contract/published/view/readme-historical\",\n \"contract/published/view/receipts\",\n \"contract/published/view/reference\",\n \"contract/published/view/release-workflow-render\",\n \"contract/published/view/tsconfig\",\n \"contract/published/view/usage-profile\",\n \"contract/published/view/walk\",\n \"contract/published/view/why\"\n ],\n \"note\": \"Explicit public-surface inventory. A selected coordinate without a descriptor is unpaid. Outstanding capability demands are not advertised implementations.\"\n}" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-inventory shape=docs/contracts/publication.inventory.json value=lock bound-lock/1 about="{count} hold" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/badge/held value=lock bound-lock/1 about="{lo}..{hi} · {state}" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/fold/together value=present bound-lock/1 about="{title} (Version {version})" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cite/versioned value=lock @@ -329,6 +384,12 @@ bound-lock/1 at=policy:bound/014-host-profile by=target form=interval measure=by bound-lock/1 at=policy:bound/014-host-profile by=target form=interval measure=bytes role=writes scope=transport/response-bytes value=0..67108864 bound-lock/1 at=policy:bound/014-host-profile by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=0..30000 bound-lock/1 at=policy:bound/014-host-profile by=target form=interval measure=milliseconds role=writes scope=transport/timeout value=0..30000 +bound-lock/1 at=policy:bound/015-plan by=target form=alphabet measure=digest role=writes scope=dep/programs shape=ab851507d007068757f4f0a286a5231237ec63499204ab767c343d7ef90ddb49 value=sha256:6dd67481ae70011143764232465eb4d0140d0143a9928080b471bf2df5b5e45a +bound-lock/1 at=policy:bound/015-plan by=target form=alphabet measure=digest role=writes scope=uses/programs value=sha256:bd89b6a84e48b8e0ff392c68806ce5104956f1e9cb018b760fd97ba9a4e822c0 +bound-lock/1 at=policy:bound/015-plan by=target form=alphabet measure=id role=demands scope=view/programs value=demand-status@8 +bound-lock/1 at=policy:bound/015-plan by=target form=alphabet measure=id role=writes scope=plan/selection value=plan/0.1.5/0|plan/0.1.5/1|plan/0.1.5/2|plan/0.1.5/5|plan/0.1.5/10|plan/0.1.6/3|plan/0.1.6/4|plan/0.1.6/6|plan/0.1.6/7|plan/0.1.6/8|plan/0.1.6/9 +bound-lock/1 at=policy:bound/015-plan by=target form=alphabet measure=id role=writes scope=scope/minimum value=plan/0.1.5/0|plan/0.1.5/1|plan/0.1.5/2|plan/0.1.5/5|plan/0.1.5/10 +bound-lock/1 at=policy:bound/015-plan by=target form=alphabet measure=receipts role=writes scope=region/program-evidence value=contract/**|plan/** bound-lock/1 at=policy:bound/authority by=owner epoch=1 form=alphabet measure=public-key role=writes scope=keys/owner sig="ed25519:era1:IA0IME384zILkebRhsBRopKbz8uPLRX95xUu45dqM0vrc5RzPaeiyJR9s/bb/QFtY6fLiilDy17p89cN3Tm6AQ==" value="MCowBQYDK2VwAyEAIYI0be8OWhf3HcVceKpibjgZ+hbYJKYO5ayX8Kk16LE=" bound-lock/1 at=policy:bound/authority by=target form=alphabet measure=class role=writes scope=keys/owner value=authorize bound-lock/1 at=policy:bound/authority by=target form=alphabet measure=coverage role=writes scope=keys/owner value=* @@ -340,7 +401,6 @@ bound-lock/1 at=policy:bound/presentation by=target form=alphabet measure=id rol bound-lock/1 at=policy:bound/presentation by=target form=alphabet measure=id role=writes scope=notation/renders value="free=FREE|required=REQUIRED" bound-lock/1 at=policy:bound/publish by=target form=alphabet measure=id role=reads scope=publish/keys value=authorize|attest|read bound-lock/1 at=policy:bound/release by=target form=alphabet measure=id role=reads scope=release/layout value=dist/regions:.js|src/regions:.ts -bound-lock/1 at=policy:bound/release by=target form=alphabet measure=id role=writes scope=release/blocks value=integrity|pins|admission|cli bound-lock/1 at=policy:bound/split by=target form=alphabet measure=id role=writes scope=split/host value=src/host|src/observe|src/cli bound-lock/1 at=policy:bound/split by=target form=alphabet measure=id role=writes scope=split/kernel value=src/fold|src/judge|src/land|src/render|src/kernel bound-lock/1 at=policy:bound/split by=target form=interval measure=cli-flags role=reads scope=cli/flags value=0..6 @@ -363,14 +423,34 @@ bound-lock/1 at=policy:prose/render-contract by=target form=alphabet measure=dig bound-lock/1 at=policy:prose/render-contract by=target form=alphabet measure=id role=writes scope=dep/prose-render shape=dist/regions/text.js value=sha256:a1c31a72a31eaf8ea7df0fb98235c4b465aee1d9575aebcc480f09b4bf64daf1 bound-lock/1 at=policy:public-artifact-source by=target form=alphabet measure=id role=writes scope=sources/obligations value=https://registry.npmjs.org/@lapxo/obligations/-/obligations-0.3.5.tgz bound-lock/1 at=policy:public-artifact-source by=target form=alphabet measure=id role=writes scope=sources/typescript value=https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz -bound-lock/1 at=policy:rendering by=target form=alphabet measure=digest role=writes scope=uses/rendering value=sha256:0f7653b659f372fd7bc1b140d0103606ebd8814dee8ef3be30949c6647b482a3 bound-lock/1 at=policy:selected-wire by=target form=alphabet measure=digest role=writes scope=uses/wire value=sha256:a717c60945add1facfd822b3ee2da73a8fa2f781dd0aa2de9be778e66b8f3591 bound-lock/1 at=witness:admission-samples-are-inputs by=target form=alphabet measure=coordinates role=reads scope=region/captures value=src/**|test/**|vectors/process/**|dist/**|package.json|TARGET.bound|samples/admission/** bound-lock/1 at=witness:admission-samples-are-inputs by=target form=alphabet measure=coordinates role=reads scope=region/vectors value=src/**|test/**|vectors/process/**|dist/**|package.json|TARGET.bound|samples/admission/** bound-lock/1 at=witness:bound/014-sdk-source by=target form=alphabet measure=id role=writes scope=sources/topos value=https://registry.npmjs.org/@lapxo/topos/-/topos-0.1.9.tgz -bound-lock/1 at=witness:explicit-executable-candidate by=target form=alphabet measure=id role=writes scope=dep/topos-doc/born shape=dist/index.js value=sha256:2c507e7fe764e55d08fc27b01567d462060fe50d1896d19866f831a823852ae5 -bound-lock/1 at=witness:process-captures-reader by=target form=alphabet measure=digest role=writes scope=dep/process-readings shape=dist/regions/vectors.js value=sha256:b22d161e8ae7c96789c7fb038b1d755fa149203c7e035c6d2fa5f2a164fecb54 -bound-lock/1 at=witness:process-captures-selection by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:a55f6849b39e77b6fcd89b2a2ba8fa286a7c8626193bbfe14aef30bef6b29458 +bound-lock/1 at=witness:bound/015-declared-reader-closure by=target form=alphabet measure=digest role=writes scope=dep/source-readings shape=dist/regions/source.js value=sha256:4254d2792e9e9826955869350da433a7c18a2211f158a3bc5f590e40db0153de +bound-lock/1 at=witness:bound/015-declared-reader-closure by=target form=alphabet measure=digest role=writes scope=uses/source-readings value=sha256:5393797da6adb25038d3ff94935be96376331735b259e125093a9e10e891f4de +bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabet measure=digest role=writes scope=uses/rendering value=sha256:c0094dc8c916b3c8ea9df19666816a28230c01808e5d792833c156e8d454a2f0 +bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabet measure=id role=writes scope=dep/topos-doc/born shape=dist/index.js value=sha256:04feef01a8c59cae7ea842198d1faf0091b424129872a847b41c7da0bca6fabf +bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=dep/process-readings shape=55b78b6c0a8ae86d84853ae34773b3a6947b31738b1242b20efa0da492ca0547 value=sha256:3f17467234fe9fce12d2859da21f7deba428b8279b387d33cb769e932ada3ecc +bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:1dc6bb7b0a8587eadc52dacc3a74934d8707042a1078182a687d10d3df2deb0e +bound-lock/1 at=witness:cli-publication by=target form=alphabet measure=id needs=docs/contracts/cli-fold.md role=demands scope=view/contract-cli-fold shape=docs/contracts/cli-fold.md value=text@3 +bound-lock/1 at=witness:cli-publication by=target form=alphabet measure=id needs=docs/contracts/cli-land.md role=demands scope=view/contract-cli-land shape=docs/contracts/cli-land.md value=text@3 +bound-lock/1 at=witness:cli-publication by=target form=alphabet measure=id needs=docs/contracts/cli-sign.md role=demands scope=view/contract-cli-sign shape=docs/contracts/cli-sign.md value=text@3 +bound-lock/1 at=witness:coordinate-query-publication by=target form=alphabet measure=id needs=docs/contracts/view-why.md role=demands scope=view/contract-native-why shape=docs/contracts/view-why.md value=text@3 +bound-lock/1 at=witness:declared-program-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-card.md role=demands scope=view/contract-card shape=docs/contracts/view-card.md value=text@3 +bound-lock/1 at=witness:declared-program-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-programs.md role=demands scope=view/contract-programs shape=docs/contracts/view-programs.md value=text@3 +bound-lock/1 at=witness:exact-archive-conformance by=target form=alphabet measure=id needs=docs/contracts/015-stage-10.md role=demands scope=view/contract-archive shape=docs/contracts/015-stage-10.md value=text@3 +bound-lock/1 at=witness:historical-build-publication by=target form=alphabet measure=id needs=docs/contracts/view-tsconfig.md role=demands scope=view/contract-tsconfig shape=docs/contracts/view-tsconfig.md value=text@3 +bound-lock/1 at=witness:historical-presentation-publication by=target form=alphabet measure=id needs=docs/contracts/view-explanation.md role=demands scope=view/contract-explanation shape=docs/contracts/view-explanation.md value=text@3 +bound-lock/1 at=witness:historical-presentation-publication by=target form=alphabet measure=id needs=docs/contracts/view-readme-historical.md role=demands scope=view/contract-readme-historical shape=docs/contracts/view-readme-historical.md value=text@3 +bound-lock/1 at=witness:historical-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-citation-file.md role=demands scope=view/contract-citation-file shape=docs/contracts/view-citation-file.md value=text@3 +bound-lock/1 at=witness:historical-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-guide.md role=demands scope=view/contract-guide shape=docs/contracts/view-guide.md value=text@3 +bound-lock/1 at=witness:historical-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-reference.md role=demands scope=view/contract-reference shape=docs/contracts/view-reference.md value=text@3 +bound-lock/1 at=witness:native-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-help.md role=demands scope=view/contract-native-help shape=docs/contracts/view-help.md value=text@3 +bound-lock/1 at=witness:native-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-lines.md role=demands scope=view/contract-native-lines shape=docs/contracts/view-lines.md value=text@3 +bound-lock/1 at=witness:native-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-receipts.md role=demands scope=view/contract-native-receipts shape=docs/contracts/view-receipts.md value=text@3 +bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=c298746ef68fdf192a0feede8f514e42f28700a2c2bc542edabee7c7c090f64d value=sha256:63404128efbf4173dfcb8ba757cf9c8cc41f692dd13d5d00a0835d8c70dec7e0 +bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:ded485f3bf8ac0f11c73f61223f4180038b8c44904ea4f573a240b59a651a489 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/exchange-cost.json|samples/core/no/exchange-cost.json role=reads scope=exchange/cost value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/idempotent.json|samples/core/no/idempotent.json role=reads scope=idempotent value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/no-error.json|samples/core/no/no-error.json role=reads scope=no-error value=0..0 @@ -384,7 +464,18 @@ bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/literal/yes/key.json|samples/literal/no/key.json role=reads scope=literal/key value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/literal/yes/org.json|samples/literal/no/org.json role=reads scope=literal/org value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/literal/yes/path.json|samples/literal/no/path.json role=reads scope=literal/path value=0..0 +bound-lock/1 at=witness:prose-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-manifest-render.md role=demands scope=view/contract-manifest-render shape=docs/contracts/view-manifest-render.md value=text@3 +bound-lock/1 at=witness:prose-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-release-workflow-render.md role=demands scope=view/contract-release-workflow-render shape=docs/contracts/view-release-workflow-render.md value=text@3 +bound-lock/1 at=witness:prose-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-usage-profile.md role=demands scope=view/contract-usage-profile shape=docs/contracts/view-usage-profile.md value=text@3 bound-lock/1 at=witness:public-artifact-closure by=target form=alphabet measure=digest needs=node_modules/typescript role=reads scope=dep/typescript shape=package value=sha256:10e108c9cf7d5f2879053dff18515fb405abf2ccef63eaaf017d9c571687a1d3 -bound-lock/1 at=witness:source-reader by=target form=alphabet measure=digest role=writes scope=dep/source-readings shape=dist/regions/source.js value=sha256:5ccae33a9e99f6acba690d9664e22cfe818205841e4e9d3083d4b24fb68d7075 +bound-lock/1 at=witness:public-instrument-input-is-declared by=target form=alphabet measure=coordinates role=writes scope=region/publication value=docs/contracts/**|samples/**|vectors/**|tools/publication/**|tools/samples/**|dist/**|package.json|TARGET.bound +bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=id needs=docs/contracts/publication.inventory.json role=demands scope=view/publication-inventory shape=docs/contracts/publication.inventory.json value=text@3 +bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=id needs=docs/contracts/publication.md role=demands scope=view/publication-contract shape=docs/contracts/publication.md value=text@3 +bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=id role=writes scope=release/blocks value=integrity|pins|admission|cli|contract +bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=id role=writes scope=release/category/contract value=contract/published +bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=receipts role=writes scope=region/program-evidence value=contract/**|plan/**|docs/contracts/**|samples/**|vectors/** +bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=receipts role=writes scope=region/publication value=contract/published/**|docs/contracts/**|samples/**|vectors/** +bound-lock/1 at=witness:publication-samples by=target form=alphabet measure=id needs=docs/contracts/evidence-view.md role=demands scope=view/contract-evidence-view shape=docs/contracts/evidence-view.md value=text@3 +bound-lock/1 at=witness:publication-samples by=target form=alphabet measure=id needs=docs/contracts/typed-object.md role=demands scope=view/contract-typed-object shape=docs/contracts/typed-object.md value=text@3 +bound-lock/1 at=witness:publish-native-walk-contract by=target form=alphabet measure=id needs=docs/contracts/view-walk.md role=demands scope=view/contract-walk shape=docs/contracts/view-walk.md value=text@3 bound-lock/1 at=witness:source-region-inputs by=target form=alphabet measure=coordinates role=reads scope=region/source value=src/**/*.ts -bound-lock/1 at=witness:source-selection by=target form=alphabet measure=digest role=writes scope=uses/source-readings value=sha256:4129c469d3296a1fcda640f59e0d7c37f255b1e88c2f8e2447cd1359a514f356 diff --git a/docs/contracts/015-stage-10.md b/docs/contracts/015-stage-10.md new file mode 100644 index 0000000..11c0891 --- /dev/null +++ b/docs/contracts/015-stage-10.md @@ -0,0 +1,11 @@ +# Exact release artifact + +Packing is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes. + +The archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed. + +The samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan. + +This is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions. + +Rendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file. diff --git a/docs/contracts/archive-conformance.publication.json b/docs/contracts/archive-conformance.publication.json new file mode 100644 index 0000000..80896eb --- /dev/null +++ b/docs/contracts/archive-conformance.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/pipeline/archive", + "members": [ + { + "role": "contract", + "path": "docs/contracts/015-stage-10.md", + "digest": "sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9" + }, + { + "role": "yes", + "path": "samples/yes/015-stage-10.json", + "digest": "sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c" + }, + { + "role": "vector", + "path": "vectors/015-stage-10.json", + "digest": "sha256:a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696" + }, + { + "role": "no", + "path": "samples/no/015-stage-10.json", + "digest": "sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea" + } + ] +} diff --git a/docs/contracts/attest-evidence.publication.json b/docs/contracts/attest-evidence.publication.json new file mode 100644 index 0000000..b82a36f --- /dev/null +++ b/docs/contracts/attest-evidence.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/attest-evidence-view", + "members": [ + { + "role": "contract", + "path": "docs/contracts/evidence-view.md", + "digest": "sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7" + }, + { + "role": "yes", + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + }, + { + "role": "no", + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + }, + { + "role": "vector", + "path": "vectors/native-views.json", + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + } + ] +} diff --git a/docs/contracts/cli-fold.md b/docs/contracts/cli-fold.md new file mode 100644 index 0000000..50b0fcd --- /dev/null +++ b/docs/contracts/cli-fold.md @@ -0,0 +1,3 @@ +# fold + +`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately. diff --git a/docs/contracts/cli-fold.publication.json b/docs/contracts/cli-fold.publication.json new file mode 100644 index 0000000..05586ce --- /dev/null +++ b/docs/contracts/cli-fold.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/cli/fold", + "members": [ + { + "role": "contract", + "path": "docs/contracts/cli-fold.md", + "digest": "sha256:588a70d9c20de5f34a26ce68074537605dda71bbaeb98643b25d96f6e9d6a8f3" + }, + { + "role": "yes", + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + }, + { + "role": "no", + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + }, + { + "role": "vector", + "path": "vectors/native-views.json", + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + } + ] +} diff --git a/docs/contracts/cli-land.md b/docs/contracts/cli-land.md new file mode 100644 index 0000000..4817baa --- /dev/null +++ b/docs/contracts/cli-land.md @@ -0,0 +1,3 @@ +# land + +`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot. diff --git a/docs/contracts/cli-land.publication.json b/docs/contracts/cli-land.publication.json new file mode 100644 index 0000000..fadf102 --- /dev/null +++ b/docs/contracts/cli-land.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/cli/land", + "members": [ + { + "role": "contract", + "path": "docs/contracts/cli-land.md", + "digest": "sha256:6872833e6f7bb9a5d7ed040c197e6cb306dda978a28fd4b286fa3e2bd5589228" + }, + { + "role": "yes", + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + }, + { + "role": "no", + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + }, + { + "role": "vector", + "path": "vectors/native-views.json", + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + } + ] +} diff --git a/docs/contracts/cli-sign.md b/docs/contracts/cli-sign.md new file mode 100644 index 0000000..31c2044 --- /dev/null +++ b/docs/contracts/cli-sign.md @@ -0,0 +1,3 @@ +# sign + +`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included. diff --git a/docs/contracts/cli-sign.publication.json b/docs/contracts/cli-sign.publication.json new file mode 100644 index 0000000..588293a --- /dev/null +++ b/docs/contracts/cli-sign.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/cli/sign", + "members": [ + { + "role": "contract", + "path": "docs/contracts/cli-sign.md", + "digest": "sha256:83eafc31e923994f262b78bcbac97d5d4a7701826d3420a9b3ad29ac427ade56" + }, + { + "role": "yes", + "path": "samples/yes/signing-port.json", + "digest": "sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69" + }, + { + "role": "no", + "path": "samples/no/signing-port.json", + "digest": "sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15" + }, + { + "role": "vector", + "path": "vectors/signing-port.json", + "digest": "sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde" + } + ] +} diff --git a/docs/contracts/evidence-view.md b/docs/contracts/evidence-view.md new file mode 100644 index 0000000..52fbe0c --- /dev/null +++ b/docs/contracts/evidence-view.md @@ -0,0 +1,7 @@ +# Authenticated evidence view + +The declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary. + +Run `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins. + +The no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped. diff --git a/docs/contracts/publication.inventory.json b/docs/contracts/publication.inventory.json new file mode 100644 index 0000000..5419358 --- /dev/null +++ b/docs/contracts/publication.inventory.json @@ -0,0 +1,29 @@ +{ + "profile": "quartet-process@1", + "scope": "contract/published", + "surface": [ + "contract/published/attest-evidence-view", + "contract/published/cli/fold", + "contract/published/cli/land", + "contract/published/cli/sign", + "contract/published/pipeline/archive", + "contract/published/typed-object-sample", + "contract/published/view/card", + "contract/published/view/citation-file", + "contract/published/view/explanation", + "contract/published/view/guide", + "contract/published/view/help", + "contract/published/view/lines", + "contract/published/view/manifest-render", + "contract/published/view/programs", + "contract/published/view/readme-historical", + "contract/published/view/receipts", + "contract/published/view/reference", + "contract/published/view/release-workflow-render", + "contract/published/view/tsconfig", + "contract/published/view/usage-profile", + "contract/published/view/walk", + "contract/published/view/why" + ], + "note": "Explicit public-surface inventory. A selected coordinate without a descriptor is unpaid. Outstanding capability demands are not advertised implementations." +} diff --git a/docs/contracts/publication.md b/docs/contracts/publication.md new file mode 100644 index 0000000..e89a2e1 --- /dev/null +++ b/docs/contracts/publication.md @@ -0,0 +1,17 @@ +# Published contracts + +Every public surface names its contract, accepted sample, captured executable vector and rejected sample. Missing members, differing artifact digests and failed vectors remain unpaid. Publication conformance is distinct from installed-artifact acceptance. + +The selected Topos projects each quartet as a reading through the existing wire. Execution proofs are dependency readings; identical vector bytes share one proof. Each reading names its exact handed inputs and dependent receipt digests. Bound verifies those closures and keeps native count/bytes receipts by digest. A closed reading costs no new execution. The publication aggregate reads the quartet receipts; it never starts an inventory batch. + +Execution slots, per-execution timeout and response bytes are declared resource lines in the selected Topos. Bounds remain unchanged. A failed reading is not cached as a successful proof. Earlier completed readings stay verified, so a later refusal does not force them to execute again. Changed, missing or corrupt bytes cannot reuse their receipts. Output and execution history retain their exact coordinates. + +## Act cost + +Each declared reading and each host invocation is measured separately. The total duration of a pass is a diagnostic; it is not the cost of one indivisible act. The cost/act ceiling reads the largest measured act or the remaining unpartitioned host work. Nested invocations are not charged twice. A slow or refused act retains its cost. Native reading receipts retain measured seconds separately from semantic identity; reusing a receipt performs no new reader execution. Missing historical durations are not invented as zero. + +## Public verification + +Full-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt. + +File-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority. diff --git a/docs/contracts/typed-object.md b/docs/contracts/typed-object.md new file mode 100644 index 0000000..c16876a --- /dev/null +++ b/docs/contracts/typed-object.md @@ -0,0 +1,35 @@ +## Typed cell, claim and mark records + +The object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile. + +`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope. + +The common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission. + +| Row | Fields in addition to the common envelope | Meaning | +| --- | --- | --- | +| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. | +| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. | +| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. | +| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. | +| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. | +| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. | +| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. | + +Each row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin. + +For a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested. + +The cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred. + +`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification. + +After admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters. + +The package's `samples/walk/interval.json`, `interval.no.json`, `alphabet.json` and `alphabet.no.json` carry exact historical wire declarations and signed positive/negative exchange records. They are examples of declared profiles, not a production activation epoch or a promise that their keys authorize another place. Host-native object output remains a separate product vector. + +## Running the published place + +Run `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied. + +The accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form. diff --git a/docs/contracts/typed-object.publication.json b/docs/contracts/typed-object.publication.json new file mode 100644 index 0000000..2270822 --- /dev/null +++ b/docs/contracts/typed-object.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/typed-object-sample", + "members": [ + { + "role": "contract", + "path": "docs/contracts/typed-object.md", + "digest": "sha256:9734ab17b9145439ae131ab4e172c0873299450d97db802b6034ff7bc46c152e" + }, + { + "role": "yes", + "path": "samples/yes/typed-object.json", + "digest": "sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d" + }, + { + "role": "vector", + "path": "vectors/typed-object.json", + "digest": "sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a" + }, + { + "role": "no", + "path": "samples/no/typed-object.json", + "digest": "sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0" + } + ] +} diff --git a/docs/contracts/view-card.md b/docs/contracts/view-card.md new file mode 100644 index 0000000..e5eb39d --- /dev/null +++ b/docs/contracts/view-card.md @@ -0,0 +1,3 @@ +# Demand card + +The declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance. diff --git a/docs/contracts/view-card.publication.json b/docs/contracts/view-card.publication.json new file mode 100644 index 0000000..8d87653 --- /dev/null +++ b/docs/contracts/view-card.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/card", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-card.md", + "digest": "sha256:aef51009b9ac387e0d80534ae6dfbf7f43051042736709df059999f05e6b5570" + }, + { + "role": "yes", + "path": "samples/yes/program-views.json", + "digest": "sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15" + }, + { + "role": "no", + "path": "samples/no/program-views.json", + "digest": "sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7" + }, + { + "role": "vector", + "path": "vectors/program-views.json", + "digest": "sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71" + } + ] +} diff --git a/docs/contracts/view-citation-file.md b/docs/contracts/view-citation-file.md new file mode 100644 index 0000000..ea01d70 --- /dev/null +++ b/docs/contracts/view-citation-file.md @@ -0,0 +1,3 @@ +# Citation file — historical profile + +The declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract. diff --git a/docs/contracts/view-citation-file.publication.json b/docs/contracts/view-citation-file.publication.json new file mode 100644 index 0000000..eb2a26f --- /dev/null +++ b/docs/contracts/view-citation-file.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/citation-file", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-citation-file.md", + "digest": "sha256:fcc24c64153d3093a3bd7e91a3be1fe1454acdc8a6033f9a6842f94c1dadc74f" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-explanation.md b/docs/contracts/view-explanation.md new file mode 100644 index 0000000..afab07e --- /dev/null +++ b/docs/contracts/view-explanation.md @@ -0,0 +1,3 @@ +# Explanation — historical profile + +The declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose. diff --git a/docs/contracts/view-explanation.publication.json b/docs/contracts/view-explanation.publication.json new file mode 100644 index 0000000..7cd4b13 --- /dev/null +++ b/docs/contracts/view-explanation.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/explanation", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-explanation.md", + "digest": "sha256:231b3e1323d7be1c1ff3d8dd474137eefd24dde31bf37cd17a9997d2b9bfefda" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-guide.md b/docs/contracts/view-guide.md new file mode 100644 index 0000000..7860f78 --- /dev/null +++ b/docs/contracts/view-guide.md @@ -0,0 +1,3 @@ +# Guide — historical profile + +The declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound. diff --git a/docs/contracts/view-guide.publication.json b/docs/contracts/view-guide.publication.json new file mode 100644 index 0000000..337646a --- /dev/null +++ b/docs/contracts/view-guide.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/guide", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-guide.md", + "digest": "sha256:6810acdd38527cfc5548f560940709ad96f35cbbbf53c1781ec7bb39e1be5cf6" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-help.md b/docs/contracts/view-help.md new file mode 100644 index 0000000..316d04a --- /dev/null +++ b/docs/contracts/view-help.md @@ -0,0 +1,3 @@ +# Help view + +A declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider. diff --git a/docs/contracts/view-help.publication.json b/docs/contracts/view-help.publication.json new file mode 100644 index 0000000..ed42d80 --- /dev/null +++ b/docs/contracts/view-help.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/help", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-help.md", + "digest": "sha256:e4c58471192e4ebff183f61280b5a63d099916c4b62ad54ef3fc2a918dd429f3" + }, + { + "role": "yes", + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + }, + { + "role": "no", + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + }, + { + "role": "vector", + "path": "vectors/native-views.json", + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + } + ] +} diff --git a/docs/contracts/view-lines.md b/docs/contracts/view-lines.md new file mode 100644 index 0000000..c49145a --- /dev/null +++ b/docs/contracts/view-lines.md @@ -0,0 +1,3 @@ +# Lines view + +A declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading. diff --git a/docs/contracts/view-lines.publication.json b/docs/contracts/view-lines.publication.json new file mode 100644 index 0000000..3e5d74e --- /dev/null +++ b/docs/contracts/view-lines.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/lines", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-lines.md", + "digest": "sha256:2f6571223342cc614d5b41f94a9376d32b2e300e232ad3f6dd3dfbb2bc9299e5" + }, + { + "role": "yes", + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + }, + { + "role": "no", + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + }, + { + "role": "vector", + "path": "vectors/native-views.json", + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + } + ] +} diff --git a/docs/contracts/view-manifest-render.md b/docs/contracts/view-manifest-render.md new file mode 100644 index 0000000..1e3482c --- /dev/null +++ b/docs/contracts/view-manifest-render.md @@ -0,0 +1,3 @@ +# Manifest render profile + +This declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package. diff --git a/docs/contracts/view-manifest-render.publication.json b/docs/contracts/view-manifest-render.publication.json new file mode 100644 index 0000000..9568f80 --- /dev/null +++ b/docs/contracts/view-manifest-render.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/manifest-render", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-manifest-render.md", + "digest": "sha256:ce6f18c8ceb8fb732af44375139fc26104550f874cc3131db383af8a0c73540c" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-programs.md b/docs/contracts/view-programs.md new file mode 100644 index 0000000..23a0526 --- /dev/null +++ b/docs/contracts/view-programs.md @@ -0,0 +1,3 @@ +# Declared programs + +The programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed. diff --git a/docs/contracts/view-programs.publication.json b/docs/contracts/view-programs.publication.json new file mode 100644 index 0000000..8052283 --- /dev/null +++ b/docs/contracts/view-programs.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/programs", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-programs.md", + "digest": "sha256:b6e5db4157005e786f0e5a402c42a1d9fcbdd1fa0fc87aa6f22d89d59e2a6c29" + }, + { + "role": "yes", + "path": "samples/yes/program-views.json", + "digest": "sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15" + }, + { + "role": "no", + "path": "samples/no/program-views.json", + "digest": "sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7" + }, + { + "role": "vector", + "path": "vectors/program-views.json", + "digest": "sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71" + } + ] +} diff --git a/docs/contracts/view-readme-historical.md b/docs/contracts/view-readme-historical.md new file mode 100644 index 0000000..6321703 --- /dev/null +++ b/docs/contracts/view-readme-historical.md @@ -0,0 +1,3 @@ +# README — historical profile + +The declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid. diff --git a/docs/contracts/view-readme-historical.publication.json b/docs/contracts/view-readme-historical.publication.json new file mode 100644 index 0000000..77ababf --- /dev/null +++ b/docs/contracts/view-readme-historical.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/readme-historical", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-readme-historical.md", + "digest": "sha256:a13e1c60e2ebf362705b65cd2eaacb469371f38625f65b7e2b7e7dcf0ed644c7" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-receipts.md b/docs/contracts/view-receipts.md new file mode 100644 index 0000000..2e80237 --- /dev/null +++ b/docs/contracts/view-receipts.md @@ -0,0 +1,9 @@ +# Receipts view + +The native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt. + +## Public verification + +Full-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt. + +File-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority. diff --git a/docs/contracts/view-receipts.publication.json b/docs/contracts/view-receipts.publication.json new file mode 100644 index 0000000..faec82c --- /dev/null +++ b/docs/contracts/view-receipts.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/receipts", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-receipts.md", + "digest": "sha256:d8fef52b9a72a47e19420b339d321139fcb56eae7f9ddab54b888525ac310a66" + }, + { + "role": "yes", + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + }, + { + "role": "no", + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + }, + { + "role": "vector", + "path": "vectors/native-views.json", + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + } + ] +} diff --git a/docs/contracts/view-reference.md b/docs/contracts/view-reference.md new file mode 100644 index 0000000..d8879d4 --- /dev/null +++ b/docs/contracts/view-reference.md @@ -0,0 +1,3 @@ +# Reference — historical profile + +The declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid. diff --git a/docs/contracts/view-reference.publication.json b/docs/contracts/view-reference.publication.json new file mode 100644 index 0000000..2786a27 --- /dev/null +++ b/docs/contracts/view-reference.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/reference", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-reference.md", + "digest": "sha256:fbde2134b38d32b393c2f59988fdd7e90b141ccfdb27f08bfe786d07a5bd2827" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-release-workflow-render.md b/docs/contracts/view-release-workflow-render.md new file mode 100644 index 0000000..b20b8a3 --- /dev/null +++ b/docs/contracts/view-release-workflow-render.md @@ -0,0 +1,3 @@ +# Workflow render profile + +This declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate. diff --git a/docs/contracts/view-release-workflow-render.publication.json b/docs/contracts/view-release-workflow-render.publication.json new file mode 100644 index 0000000..0c6a3e8 --- /dev/null +++ b/docs/contracts/view-release-workflow-render.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/release-workflow-render", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-release-workflow-render.md", + "digest": "sha256:0ee65259e5ac8873431344f5c3977b7f9c38ea23887f31caae1229a097151bb2" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-tsconfig.md b/docs/contracts/view-tsconfig.md new file mode 100644 index 0000000..61fb6ad --- /dev/null +++ b/docs/contracts/view-tsconfig.md @@ -0,0 +1,3 @@ +# Build configuration — historical profile + +The declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract. diff --git a/docs/contracts/view-tsconfig.publication.json b/docs/contracts/view-tsconfig.publication.json new file mode 100644 index 0000000..358187f --- /dev/null +++ b/docs/contracts/view-tsconfig.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/tsconfig", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-tsconfig.md", + "digest": "sha256:7bd9dc32793491718589c92a3c844c5018b9252724ede1b8cd474b5d2e6779f4" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-usage-profile.md b/docs/contracts/view-usage-profile.md new file mode 100644 index 0000000..f5193f4 --- /dev/null +++ b/docs/contracts/view-usage-profile.md @@ -0,0 +1,3 @@ +# Usage render profile + +This declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors. diff --git a/docs/contracts/view-usage-profile.publication.json b/docs/contracts/view-usage-profile.publication.json new file mode 100644 index 0000000..7c4f8c7 --- /dev/null +++ b/docs/contracts/view-usage-profile.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/usage-profile", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-usage-profile.md", + "digest": "sha256:5b38869324384a0021b9d6ec17230157f5847e46fc0ad5c15bb4a9b81790a87f" + }, + { + "role": "yes", + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + }, + { + "role": "no", + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + }, + { + "role": "vector", + "path": "vectors/historical-document-views.json", + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + } + ] +} diff --git a/docs/contracts/view-walk.md b/docs/contracts/view-walk.md new file mode 100644 index 0000000..079cc5c --- /dev/null +++ b/docs/contracts/view-walk.md @@ -0,0 +1,7 @@ +# Walk + +`bound fold --as walk@` compares the admitted place with an authenticated peer inventory. Resolution is interpreted by the declared Topos selection and projection contract; it is not restricted to three fixed numbers. The wire declares region membership, context, origin and cuts. The output names touched regions, open regions and payload bytes; protocol and imported bytes carry their own units. + +Foreign history retains its signed origin epoch. Sender keys authenticate that history and never grant coverage or independent origins in the receiver. Whole-region prefixes are verified before ingress. Import and the receiver-signed local receipt commit atomically; only that receipt advances the receiver's local epoch. Foreign withdrawals are confined to the same authenticated origin and exact identifier. A repeated valid delivery adds no lines and retains its existing import receipt. A rejected or interrupted ingress adds neither evidence nor a receipt. + +The published sample uses the same compiled public reader on measurement and artifact places. It compares equal summaries, opens a differing region, exchanges at intermediate declared resolutions, converges by union, retains disagreement and verifies replay after a later local act. It rejects tampered payloads, missing records, unauthorized signatures, non-prefix epochs and undeclared context changes. It interrupts a real receiver signer and verifies unchanged ingress and local history. Dead-owner recovery is a separate host action; this view does not silently recover it. The typed object's origin-local claims and withdrawals are a separate conformance vector, not inferred from configuration counts. diff --git a/docs/contracts/view-walk.publication.json b/docs/contracts/view-walk.publication.json new file mode 100644 index 0000000..cdc1b9c --- /dev/null +++ b/docs/contracts/view-walk.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/walk", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-walk.md", + "digest": "sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6" + }, + { + "role": "yes", + "path": "samples/yes/walk.json", + "digest": "sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac" + }, + { + "role": "vector", + "path": "vectors/walk-publication.json", + "digest": "sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113" + }, + { + "role": "no", + "path": "samples/no/walk.json", + "digest": "sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233" + } + ] +} diff --git a/docs/contracts/view-why.md b/docs/contracts/view-why.md new file mode 100644 index 0000000..d5eb190 --- /dev/null +++ b/docs/contracts/view-why.md @@ -0,0 +1,3 @@ +# Why a coordinate + +`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing. diff --git a/docs/contracts/view-why.publication.json b/docs/contracts/view-why.publication.json new file mode 100644 index 0000000..6b524b4 --- /dev/null +++ b/docs/contracts/view-why.publication.json @@ -0,0 +1,25 @@ +{ + "scope": "contract/published/view/why", + "members": [ + { + "role": "contract", + "path": "docs/contracts/view-why.md", + "digest": "sha256:f4fdacd2036509b0542c37111aeb24ef3de9e92086a8555c80a2c181f034e26e" + }, + { + "role": "yes", + "path": "samples/yes/query-views.json", + "digest": "sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317" + }, + { + "role": "no", + "path": "samples/no/query-views.json", + "digest": "sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4" + }, + { + "role": "vector", + "path": "vectors/query-views.json", + "digest": "sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1" + } + ] +} diff --git a/docs/reference.md b/docs/reference.md index 0f5f410..16799ca 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -3,13 +3,38 @@ | | | |---|---| | pin | process-readings | +| pin | programs | | pin | prose-render | +| pin | publication-readings | | pin | rendering | | pin | source-readings | | pin | wire | +- [015-stage-10](contracts/015-stage-10.md) +- [view-card](contracts/view-card.md) +- [view-citation-file](contracts/view-citation-file.md) +- [cli-fold](contracts/cli-fold.md) +- [cli-land](contracts/cli-land.md) +- [cli-sign](contracts/cli-sign.md) +- [evidence-view](contracts/evidence-view.md) +- [view-explanation](contracts/view-explanation.md) +- [view-guide](contracts/view-guide.md) +- [view-manifest-render](contracts/view-manifest-render.md) +- [view-help](contracts/view-help.md) +- [view-lines](contracts/view-lines.md) +- [view-receipts](contracts/view-receipts.md) +- [view-why](contracts/view-why.md) +- [view-programs](contracts/view-programs.md) +- [view-readme-historical](contracts/view-readme-historical.md) +- [view-reference](contracts/view-reference.md) +- [view-release-workflow-render](contracts/view-release-workflow-render.md) +- [view-tsconfig](contracts/view-tsconfig.md) +- [typed-object](contracts/typed-object.md) +- [view-usage-profile](contracts/view-usage-profile.md) +- [view-walk](contracts/view-walk.md) - [why](why.md) - [guide](guide.md) +- [publication](contracts/publication.md) - [README](../README.md) - [reference](reference.md) - [usage](usage.md) diff --git a/docs/usage.md b/docs/usage.md index bb78419..71ebe4d 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -51,3 +51,9 @@ The accepted TARGET is independent of a contributor's scan. Commit native receip A contribution is a proposed lot with the leaf changes rendered from it. Send that lot for admission by the team's coverage. Do not submit hand-edited lock output as already accepted. Check secrets, extra bound files, foreign vendoring and uncaptured page claims before review. A review includes the product fold, meaningful suites and verification of the rendered bytes. Preserve their actual output and exit status. + +## Declaring a demand + +A new demand records what remains to be proved. Admission does not create conformance evidence or pay it. An OWED line after land says the declaration was admitted and remains unpaid. Signing authority and conformance evidence are separate inputs. + +The selected program projection reads declared requirements and handed evidence. Missing evidence stays unread; a missing elapsed-time reading is not zero. A dependency cannot close before its requirements and predecessors. Declaring a plan never certifies a release. diff --git a/docs/why.md b/docs/why.md index de2ee72..e164c31 100644 --- a/docs/why.md +++ b/docs/why.md @@ -38,11 +38,11 @@ lot_dir="$(mktemp -d)" Have the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`. ```sh -npx @lapxo/bound@0.1.4 sign "$lot_dir/proposal.bound" \ +npx @lapxo/bound@0.1.5 sign "$lot_dir/proposal.bound" \ --key "$BOUND_KEY_ID" --key-file "$BOUND_KEY_FILE" \ > "$lot_dir/signed.bound" && -npx @lapxo/bound@0.1.4 land "$lot_dir/signed.bound" && -npx @lapxo/bound@0.1.4 fold +npx @lapxo/bound@0.1.5 land "$lot_dir/signed.bound" && +npx @lapxo/bound@0.1.5 fold ``` `sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts. diff --git a/package-lock.json b/package-lock.json index 399fd42..478df75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,17 @@ { "name": "@lapxo/bound", - "version": "0.1.4", + "version": "0.1.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@lapxo/bound", - "version": "0.1.4", + "version": "0.1.5", "license": "MIT", "dependencies": { "@lapxo/obligations": "0.3.5", - "@lapxo/topos": "0.1.9" + "@lapxo/topos": "^0.1.11", + "acorn": "8.19.0" }, "bin": { "bound": "dist/cli/verb.js" @@ -33,9 +34,9 @@ } }, "node_modules/@lapxo/topos": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@lapxo/topos/-/topos-0.1.9.tgz", - "integrity": "sha512-uZE925/7Usut0sQs3onZ1nDe4Zv7HkJUnk2fEXVaffJcORiE7oRGzjCYYVlDqctoN9384YG9J+gW2gW2TxBGUA==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@lapxo/topos/-/topos-0.1.11.tgz", + "integrity": "sha512-fBl68I8P02H4T2tmXhUrVdvQrJsF0dJtiNqBQx9oe8NNRncAa2LN2b6V4CXyh/+zzirWU5u1yJ9BcpxaxaWrZg==", "license": "MIT", "dependencies": { "@lapxo/obligations": "^0.3.5" @@ -54,6 +55,18 @@ "undici-types": "~6.21.0" } }, + "node_modules/acorn": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz", + "integrity": "sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", diff --git a/package.json b/package.json index fd819e3..22e6622 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lapxo/bound", - "version": "0.1.4", + "version": "0.1.5", "type": "module", "description": "Read the bounds you already wrote, fold them, and name the contradictions.", "main": "dist/cli/verb.js", @@ -13,7 +13,7 @@ "./package.json": "./package.json" }, "scripts": { - "test": "node --import ./test/setup.ts --test test/*.test.ts", + "test": "node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts", "clean": "rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo", "build": "node tools/build.mjs", "prepack": "npm run build" @@ -26,13 +26,55 @@ "TARGET.bound", "receipts.bound", "docs/usage.md", - "docs/readme-assets/atlas.svg" + "docs/readme-assets/atlas.svg", + "samples/typed/*.json", + "tools/samples/*.mjs", + "samples/walk/*.json", + "vectors/native-walk.json", + "docs/contracts/**/*", + "samples/yes/typed-object.json", + "samples/no/typed-object.json", + "samples/yes/attest-evidence.json", + "samples/no/attest-evidence.json", + "vectors/typed-object.json", + "vectors/attest-evidence.json", + "samples/yes/signing-port.json", + "samples/no/signing-port.json", + "vectors/signing-port.json", + "samples/yes/native-views.json", + "samples/no/native-views.json", + "vectors/native-views.json", + "samples/yes/query-views.json", + "samples/no/query-views.json", + "vectors/query-views.json", + "samples/yes/prose-views.json", + "samples/no/prose-views.json", + "vectors/prose-views.json", + "samples/yes/program-views.json", + "samples/no/program-views.json", + "vectors/program-views.json", + "samples/yes/historical-document-views.json", + "samples/no/historical-document-views.json", + "vectors/historical-document-views.json", + "samples/yes/historical-build.json", + "samples/no/historical-build.json", + "vectors/historical-build.json", + "samples/yes/historical-presentation.json", + "samples/no/historical-presentation.json", + "vectors/historical-presentation.json", + "samples/yes/walk.json", + "samples/no/walk.json", + "vectors/walk-publication.json", + "samples/yes/015-stage-10.json", + "vectors/015-stage-10.json", + "samples/no/015-stage-10.json" ], "author": "Lapxo", "license": "MIT", "dependencies": { "@lapxo/obligations": "0.3.5", - "@lapxo/topos": "0.1.9" + "@lapxo/topos": "^0.1.11", + "acorn": "8.19.0" }, "devDependencies": { "@types/node": "^20.0.0", diff --git a/receipts.bound b/receipts.bound index a65320f..47ad4d1 100644 --- a/receipts.bound +++ b/receipts.bound @@ -1,31 +1,268 @@ -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:bbff6b8fc616 form=alphabet measure=observed role=writes scope= value=ab7da20ef55567fd -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=alphabet measure=observed role=writes scope= value=ab7da20ef55567fd -bound-lock/1 at=place:sha256:c79e6047c8b811fc107bf779ceae2c944f25a4b48d2391e74c78b532e479b4e8 by=reader:2c507e7fe764 form=alphabet measure=observed role=writes scope=./ value=c79e6047c8b811fc -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=alphabet measure=observed role=writes scope= value=c8df87bf85f05d4f -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:bbff6b8fc616 form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:bbff6b8fc616 form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=count role=reads scope=admission/one-boundary value=0..0 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=count role=reads scope=idempotent value=0..0 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=count role=reads scope=nothing-deleted value=0..0 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=count role=reads scope=offline value=0..0 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=count role=reads scope=one-writer value=0..0 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=count role=reads scope=resolve-by-url value=0..0 -bound-lock/1 at=place:sha256:ab7da20ef55567fd8a85a49fff3ef412a55367b7046fcd4b5b0fbb1b332bb239 by=reader:c448c64e0bac form=interval measure=count role=reads scope=the-stranger value=0..0 -bound-lock/1 at=place:sha256:c79e6047c8b811fc107bf779ceae2c944f25a4b48d2391e74c78b532e479b4e8 by=reader:2c507e7fe764 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=alphabet measure=id role=reads scope=source/locations/literal/org value=none -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=alphabet measure=id role=reads scope=source/locations/literal/path value=none -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=interval measure=count role=reads scope=literal/host value=0..0 -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=interval measure=count role=reads scope=literal/key value=0..0 -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=interval measure=count role=reads scope=literal/org value=0..0 -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=interval measure=count role=reads scope=literal/path value=0..0 -bound-lock/1 at=place:sha256:c8df87bf85f05d4f10c5e3e4011067fd84144738a09e83a9ed1bdf4d7c3078d0 by=reader:0f5306d0e183 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 +bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=009f24d0378dc39b +bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=041deca41f3dc4f7 +bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=05655a9477cb9f2e +bound-lock/1 at=place:sha256:0e92f3a8d2a005c08fac9b68524c72a4652626e23c0dce85d74cb3166e71619c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=0e92f3a8d2a005c0 +bound-lock/1 at=place:sha256:16d8ec648ec015584702ae73975f71ce049a499290d4a0cd2ce1993218e950a3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=16d8ec648ec01558 +bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=17d0c79b6d73320c +bound-lock/1 at=place:sha256:18d2e6b3b7fa66c3d7685f71800ac9c45ed3e29cba267da10011546fa1c34e2d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=18d2e6b3b7fa66c3 +bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=19fafe1b2ad73f14 +bound-lock/1 at=place:sha256:1d5dfa24588f749a90ca420fd86db50d86004ff746bed1fd16063c2c564b7c40 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=1d5dfa24588f749a +bound-lock/1 at=place:sha256:20413252e384158ffed562b7041d187669a2aea8a29805ec03bc6aed48f28c70 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=20413252e384158f +bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=21b73989e39791e3 +bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=3175ae43114e7de2 +bound-lock/1 at=place:sha256:31e1daac3410e3293abad961650eb3c799332c60082e0635e40362036a675905 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=31e1daac3410e329 +bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=336753bea3c28957 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=343a3b81e2ed111d +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=343a3b81e2ed111d +bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=38f043fce46c32e3 +bound-lock/1 at=place:sha256:40e376ae330c6c499533b136cb81836cdcf025c2ab5d7e108e667414b0587b86 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published value=40e376ae330c6c49 +bound-lock/1 at=place:sha256:42678983fbeaefb6d0a7afaf9ce40294d7164da9ff43d5bda079cecf7887d3b8 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=42678983fbeaefb6 +bound-lock/1 at=place:sha256:42a20ff419d12a6913ce4f2c1af7327173ae8b143aa2b95330598cbea04bcaa5 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=42a20ff419d12a69 +bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=45837d57bac6ddf2 +bound-lock/1 at=place:sha256:5158f18d352191cb813f3726f298878aa4b36a9984312ab9e01b966c2f16979c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=5158f18d352191cb +bound-lock/1 at=place:sha256:556e00ae3c438952c9541301bf4785409b7eab5e17bccded1f52cd39cb13f8ef by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=556e00ae3c438952 +bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/why value=6eb3de5d83bf1762 +bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=75b59d34ae727d50 +bound-lock/1 at=place:sha256:7c8dca592a80f29a99b9ad6b61f1a64db1bbf7d26798c2d15aef34ecb3405dbb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=7c8dca592a80f29a +bound-lock/1 at=place:sha256:7cf2d57ec5c3fcd0632126f508ec5d4ce75a1bed4e0d78adfbe625333d13c16b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=7cf2d57ec5c3fcd0 +bound-lock/1 at=place:sha256:7e7c0595ad9ada591a343d3d4c2afc7acaddc7d069e9c413383f590abe1791d5 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=7e7c0595ad9ada59 +bound-lock/1 at=place:sha256:8276f6e561e8892ec52f05a3a619822ea99e2ebb8e66bad670b28eca13c6481e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 value=8276f6e561e8892e +bound-lock/1 at=place:sha256:830bef9ca0c717d911cb3b1a9b9fa59c3fd311641a78674a1f6fe12cba2f216c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=830bef9ca0c717d9 +bound-lock/1 at=place:sha256:85e7bf2823ccbe1f9b9d2a57b28aea53fd1b08567f8f2550f672773ed2509964 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=85e7bf2823ccbe1f +bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=87bf51e5c0468a5c +bound-lock/1 at=place:sha256:8aebb5590c4ff5267cd26a016e77caaa74f08f2b39054817b9b0370186ae9096 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=8aebb5590c4ff526 +bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=8c341105fa1db014 +bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=90aff9d0fb316807 +bound-lock/1 at=place:sha256:944e87dd842d8b8894cfd85915d7f7770c753273a49fb6e1b3db58939ce37ff2 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=944e87dd842d8b88 +bound-lock/1 at=place:sha256:976287f41d0ecc9d4af1eccf40cf9586b3fa28bcc60ce2304758e9096ab295ed by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=976287f41d0ecc9d +bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/card value=98b99246d02c8858 +bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=9a2e371c647ab9ef +bound-lock/1 at=place:sha256:9cba8916daa1bcbd3f3975110986ed49ad656ce5a7711214caa8468932abe7fb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 value=9cba8916daa1bcbd +bound-lock/1 at=place:sha256:abcfaf9dc2b505393ba5cf546cea8b0b56d6e1e663775bc30b826ffd83fa7636 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=abcfaf9dc2b50539 +bound-lock/1 at=place:sha256:b0cecea6f1d7a3f2d0cff89a63a0bbc84600a8863c5f25d39747a7b01ab81535 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=b0cecea6f1d7a3f2 +bound-lock/1 at=place:sha256:b3a8f2991779468c45f126ba7f26d3d832f955ee4a48f41248a38fbedda6a8d8 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=b3a8f2991779468c +bound-lock/1 at=place:sha256:b6241a3e1d58ce14fbca3ff469dd3d5e0daef5fd40ba79e373ede9fef64e5390 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=b6241a3e1d58ce14 +bound-lock/1 at=place:sha256:beb678b8e834182041f76e16fb1d0d1048307d9dc7d47d64d9dbd253a4bc94c3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=beb678b8e8341820 +bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=bf6b5ef1a2f8fdc3 +bound-lock/1 at=place:sha256:c0494124866a8b5fd7956f46ada591388ae032871a3b272a2a1a9021f8b5a382 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=c0494124866a8b5f +bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/help value=dfe07472962538bd +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=observed role=writes scope= value=e2602308ed24728e +bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=e5ad4ba29e1b2df6 +bound-lock/1 at=place:sha256:e61cbfcd60e9d72849267e026ffdc12cacb1e8fbd3cdbf1a1b1f14b16e153919 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=e61cbfcd60e9d728 +bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=e9d10e2244871811 +bound-lock/1 at=place:sha256:f5b95ffc67d1297ff5ca808f64edf5b78e7316f6d4caf75c361455b0100a22a0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=f5b95ffc67d1297f +bound-lock/1 at=place:sha256:f79c1df555d855268b1e8173a425f4175a7955ef4129704699681272afa19fb5 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=f79c1df555d85526 +bound-lock/1 at=place:sha256:f7d75dc4c1a1aaf1c9edc3cfbcfc3d57af888316523fc0800c6229f3649803c1 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=f7d75dc4c1a1aaf1 +bound-lock/1 at=place:sha256:f9a7f110e415b10b39e36cc3e6a6996c99e0a946fd3f263c12ff7d81e96aff9b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=f9a7f110e415b10b +bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=fcc7a505bcf78dc9 +bound-lock/1 about="bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-lines.md value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:42a20ff419d12a6913ce4f2c1af7327173ae8b143aa2b95330598cbea04bcaa5 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-land.md value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:0e92f3a8d2a005c08fac9b68524c72a4652626e23c0dce85d74cb3166e71619c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-guide.md value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:f9a7f110e415b10b39e36cc3e6a6996c99e0a946fd3f263c12ff7d81e96aff9b by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-citation-file.md value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:b6241a3e1d58ce14fbca3ff469dd3d5e0daef5fd40ba79e373ede9fef64e5390 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-fold.md value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:b3a8f2991779468c45f126ba7f26d3d832f955ee4a48f41248a38fbedda6a8d8 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-reference.md value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:7c8dca592a80f29a99b9ad6b61f1a64db1bbf7d26798c2d15aef34ecb3405dbb by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-manifest-render.md value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:f5b95ffc67d1297ff5ca808f64edf5b78e7316f6d4caf75c361455b0100a22a0 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-readme-historical.md value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:976287f41d0ecc9d4af1eccf40cf9586b3fa28bcc60ce2304758e9096ab295ed by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-tsconfig.md value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:7cf2d57ec5c3fcd0632126f508ec5d4ce75a1bed4e0d78adfbe625333d13c16b by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-programs.md value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:42678983fbeaefb6d0a7afaf9ce40294d7164da9ff43d5bda079cecf7887d3b8 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-why.md value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:944e87dd842d8b8894cfd85915d7f7770c753273a49fb6e1b3db58939ce37ff2 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-receipts.md value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:5158f18d352191cb813f3726f298878aa4b36a9984312ab9e01b966c2f16979c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-release-workflow-render.md value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:b0cecea6f1d7a3f2d0cff89a63a0bbc84600a8863c5f25d39747a7b01ab81535 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-sign.md value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:c0494124866a8b5fd7956f46ada591388ae032871a3b272a2a1a9021f8b5a382 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:f7d75dc4c1a1aaf1c9edc3cfbcfc3d57af888316523fc0800c6229f3649803c1 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-card.md value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:7e7c0595ad9ada591a343d3d4c2afc7acaddc7d069e9c413383f590abe1791d5 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-usage-profile.md value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:8aebb5590c4ff5267cd26a016e77caaa74f08f2b39054817b9b0370186ae9096 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-explanation.md value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:16d8ec648ec015584702ae73975f71ce049a499290d4a0cd2ce1993218e950a3 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-help.md value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:830bef9ca0c717d911cb3b1a9b9fa59c3fd311641a78674a1f6fe12cba2f216c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:abcfaf9dc2b505393ba5cf546cea8b0b56d6e1e663775bc30b826ffd83fa7636 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/015-stage-10.md value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/015-stage-10.json value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/015-stage-10.json value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/015-stage-10.json value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:8276f6e561e8892ec52f05a3a619822ea99e2ebb8e66bad670b28eca13c6481e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:20413252e384158ffed562b7041d187669a2aea8a29805ec03bc6aed48f28c70 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=5..5 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/015-stage-10.md value=sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:5f56a3ed85bf39d156bfe2ea5f9f0c88201e4d41a2a9a444851d597aa7fcb5d3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 value=sha256:e95e725c703c1e155a15894cfccbb62d8ee28c7a0ae2f31c91f02ec4e5f35c1f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/015-stage-10.json value=sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/015-stage-10.json value=sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/015-stage-10.json value=sha256:a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 role=reads scope=contract/published/pipeline/archive value=docs/contracts/015-stage-10.md|docs/contracts/archive-conformance.publication.json|samples/no/015-stage-10.json|samples/yes/015-stage-10.json|vectors/015-stage-10.json\n" at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 value=sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:efeae360709b0bdd9e0641e65bec91a3a3a29c534a982dc287287ae7afe512cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.md value=sha256:588a70d9c20de5f34a26ce68074537605dda71bbaeb98643b25d96f6e9d6a8f3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:4cd08521edd39bb9291761d0a00cf0e8e4125db13b057527cee5c7a5b76e76c5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.md|docs/contracts/cli-fold.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.md value=sha256:6872833e6f7bb9a5d7ed040c197e6cb306dda978a28fd4b286fa3e2bd5589228\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:fee4576b9444e973b6d7aa5d5ae940b008844f849945d6bdfb654bf26699f660\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.md|docs/contracts/cli-land.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.md value=sha256:83eafc31e923994f262b78bcbac97d5d4a7701826d3420a9b3ad29ac427ade56\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:94f6b465f0b6aca6c512e8b8c25ae37e21225dc4d6cae6cfe09c4bf3d2aade4d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=sha256:45740474114b41057b418b68a44d914a81721cbcff6147927337836d5d396f91\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/signing-port.json value=sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/signing-port.json value=sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.md|docs/contracts/cli-sign.publication.json|samples/no/signing-port.json|samples/yes/signing-port.json|vectors/signing-port.json\n" at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:9734ab17b9145439ae131ab4e172c0873299450d97db802b6034ff7bc46c152e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:36cc1286558b2d91735e662db7783dabfec2fefd19e3df52534e1ef48b68e63b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=sha256:928f064e91581f0469924b3af0e56230db63e0fab315f617232dd172385090c6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/typed-object.json value=sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/typed-object.json value=sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/no/typed-object.json|samples/yes/typed-object.json|vectors/typed-object.json\n" at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.md value=sha256:aef51009b9ac387e0d80534ae6dfbf7f43051042736709df059999f05e6b5570\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:be4b1fb64e8b2a931ad3a38209abdfa8dc7717c77a46fc733f2def74520a64c5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:5149f073cf5367e5b9a2f245879e811f8bd745390588186c71cce33eba6a5ca7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/card value=docs/contracts/view-card.md|docs/contracts/view-card.publication.json|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.md value=sha256:fcc24c64153d3093a3bd7e91a3be1fe1454acdc8a6033f9a6842f94c1dadc74f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:cbcb7be08f808d2c6fece726958f1e8c10b2e3691e7c48737e11a5d720b8fd25\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/citation-file value=docs/contracts/view-citation-file.md|docs/contracts/view-citation-file.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.md value=sha256:231b3e1323d7be1c1ff3d8dd474137eefd24dde31bf37cd17a9997d2b9bfefda\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:f41898a2049ce188aa98a1defdb9926ade202dfc806d25522477bb402d063c3d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/explanation value=docs/contracts/view-explanation.md|docs/contracts/view-explanation.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.md value=sha256:6810acdd38527cfc5548f560940709ad96f35cbbbf53c1781ec7bb39e1be5cf6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:eab775b4529466785bbbe64c2e60f087e1ee4b9157fc3c22f086a00b140dd3dc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/guide value=docs/contracts/view-guide.md|docs/contracts/view-guide.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.md value=sha256:e4c58471192e4ebff183f61280b5a63d099916c4b62ad54ef3fc2a918dd429f3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:498ae119ca06acba2fceb4f1bc72004cc6560ff87ffbe6ae990c8678675f8a53\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/help value=docs/contracts/view-help.md|docs/contracts/view-help.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.md value=sha256:2f6571223342cc614d5b41f94a9376d32b2e300e232ad3f6dd3dfbb2bc9299e5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:cdc0e86486a8ed8ea470850dbffd28f84d022162b3c060423ba07b09e9bff2db\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.md|docs/contracts/view-lines.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.md value=sha256:ce6f18c8ceb8fb732af44375139fc26104550f874cc3131db383af8a0c73540c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:c15e5bf5c88e39bc7e8961adec84ad26f2f827a208c248fa8f672148d6b2170b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/manifest-render value=docs/contracts/view-manifest-render.md|docs/contracts/view-manifest-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.md value=sha256:b6e5db4157005e786f0e5a402c42a1d9fcbdd1fa0fc87aa6f22d89d59e2a6c29\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:e838fe7cd0065f2e9933c7077be4d4f65fefc009f34bf3843676210294fbd34d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:5149f073cf5367e5b9a2f245879e811f8bd745390588186c71cce33eba6a5ca7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.md|docs/contracts/view-programs.publication.json|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.md value=sha256:a13e1c60e2ebf362705b65cd2eaacb469371f38625f65b7e2b7e7dcf0ed644c7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:d044b34275c73f4d10f9c0527dd17cdf6a7cdb325a7e40bb66696caa3d4999a3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/readme-historical value=docs/contracts/view-readme-historical.md|docs/contracts/view-readme-historical.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.md value=sha256:d8fef52b9a72a47e19420b339d321139fcb56eae7f9ddab54b888525ac310a66\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:748ddcd6e661b5bca41fccdc487531f6f589606f7cfba1d2e0864a3d0a789de1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.md|docs/contracts/view-receipts.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.md value=sha256:fbde2134b38d32b393c2f59988fdd7e90b141ccfdb27f08bfe786d07a5bd2827\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:d31143dd662a4a26c9ff9487e153bc7e81d3ab84569617f7c8c6fd19106bc2cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/reference value=docs/contracts/view-reference.md|docs/contracts/view-reference.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.md value=sha256:0ee65259e5ac8873431344f5c3977b7f9c38ea23887f31caae1229a097151bb2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:28e05f196973178ccfe2b9e127c666360b4b9dd087cc9492c7ee31046e31bc49\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/view-release-workflow-render.md|docs/contracts/view-release-workflow-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.md value=sha256:7bd9dc32793491718589c92a3c844c5018b9252724ede1b8cd474b5d2e6779f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:58d75bd5bf6b3a86d89fb9a35337bd92310feb2f76206c5c2cd115fc6d8bc700\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/tsconfig value=docs/contracts/view-tsconfig.md|docs/contracts/view-tsconfig.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.md value=sha256:5b38869324384a0021b9d6ec17230157f5847e46fc0ad5c15bb4a9b81790a87f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:bfadfa3cac89b948e0f3db0d147fc36d6867c5b8ca99e5610b728dc7116eda3b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/usage-profile value=docs/contracts/view-usage-profile.md|docs/contracts/view-usage-profile.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:d9f7d39ef313e213748a77e190fb6347aad98e378cfbfb66e97eb7e86d39e2cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=sha256:bf99e81325e0bbbdd5f1f1fb819c3a0ced5e88e948dbf460771d35675981a78c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/walk.json value=sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/walk.json value=sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json\n" at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.md value=sha256:f4fdacd2036509b0542c37111aeb24ef3de9e92086a8555c80a2c181f034e26e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:4467bedf821b19faa6af5c367d8b8736ec1a28387fafc285fb610b71dd78e7d2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=sha256:4fe92c37a1fd51b0cb3248f43c680f960b2b980597060df758c720486e1f508a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/query-views.json value=sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/query-views.json value=sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 role=reads scope=contract/published/view/why value=docs/contracts/view-why.md|docs/contracts/view-why.publication.json|samples/no/query-views.json|samples/yes/query-views.json|vectors/query-views.json\n" at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 +bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-lines.md value=met +bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 +bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=0.434602..0.434602 +bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-land.md value=met +bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 +bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=0.455328..0.455328 +bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-guide.md value=met +bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 +bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=0.449474..0.449474 +bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-citation-file.md value=met +bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 +bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=0.447485..0.447485 +bound-lock/1 at=place:sha256:18d2e6b3b7fa66c3d7685f71800ac9c45ed3e29cba267da10011546fa1c34e2d by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=0..0 +bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-fold.md value=met +bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 +bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=0.435097..0.435097 +bound-lock/1 at=place:sha256:1d5dfa24588f749a90ca420fd86db50d86004ff746bed1fd16063c2c564b7c40 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=0..0 +bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-reference.md value=met +bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 +bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=0.445475..0.445475 +bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-manifest-render.md value=met +bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 +bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=0.447593..0.447593 +bound-lock/1 at=place:sha256:31e1daac3410e3293abad961650eb3c799332c60082e0635e40362036a675905 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=0..0 +bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-readme-historical.md value=met +bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 +bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=0.444885..0.444885 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" +bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" +bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-tsconfig.md value=met +bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 +bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=0.449910..0.449910 +bound-lock/1 at=place:sha256:40e376ae330c6c499533b136cb81836cdcf025c2ab5d7e108e667414b0587b86 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published value=0..0 +bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-programs.md value=met +bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 +bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=0.440572..0.440572 +bound-lock/1 at=place:sha256:556e00ae3c438952c9541301bf4785409b7eab5e17bccded1f52cd39cb13f8ef by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=0..0 +bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-why.md value=met +bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met +bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met +bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met +bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 +bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=0.439226..0.439226 +bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-receipts.md value=met +bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 +bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=0.443712..0.443712 +bound-lock/1 at=place:sha256:85e7bf2823ccbe1f9b9d2a57b28aea53fd1b08567f8f2550f672773ed2509964 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=0..0 +bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-release-workflow-render.md value=met +bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 +bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=0.438427..0.438427 +bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-sign.md value=met +bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met +bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met +bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met +bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 +bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=0.442547..0.442547 +bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met +bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 +bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=0.447239..0.447239 +bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-card.md value=met +bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 +bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=0.440561..0.440561 +bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-usage-profile.md value=met +bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 +bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=0.454211..0.454211 +bound-lock/1 at=place:sha256:9cba8916daa1bcbd3f3975110986ed49ad656ce5a7711214caa8468932abe7fb by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 value=0..0 +bound-lock/1 at=place:sha256:beb678b8e834182041f76e16fb1d0d1048307d9dc7d47d64d9dbd253a4bc94c3 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=0..0 +bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-explanation.md value=met +bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 +bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=0.441219..0.441219 +bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-help.md value=met +bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 +bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=0.449165..0.449165 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/org value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/path value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/host value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/key value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/org value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/path value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 +bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met +bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met +bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met +bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met +bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 +bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=0.447617..0.447617 +bound-lock/1 at=place:sha256:e61cbfcd60e9d72849267e026ffdc12cacb1e8fbd3cdbf1a1b1f14b16e153919 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=0..0 +bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/015-stage-10.md value=met +bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/015-stage-10.json value=met +bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/015-stage-10.json value=met +bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/015-stage-10.json value=met +bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 +bound-lock/1 at=place:sha256:f79c1df555d855268b1e8173a425f4175a7955ef4129704699681272afa19fb5 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 +bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met +bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met +bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met +bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met +bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 +bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=0.437959..0.437959 bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=status role=writes scope=law/a-fact-is-a-printed-line value=present bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=cone role=writes scope=law/a-fact-is-a-printed-line value=samples/yes/a-fact-is-a-printed-line.json|samples/no/a-fact-is-a-printed-line.json bound-lock/1 at=cone:957f15a6bf76172db7ad6fc3ad985d3a2d29d53b0d7f26496278534a6b27eaa5 by=judge form=alphabet measure=status role=writes scope=law/a-refuse-plants value=present @@ -36,57 +273,73 @@ bound-lock/1 at=cone:9b1915d477c82eba64f0b9a7928018db772788398ca8a13afd438831417 bound-lock/1 at=cone:9b1915d477c82eba64f0b9a7928018db772788398ca8a13afd438831417ee43a by=judge form=alphabet measure=cone role=writes scope=law/three-verbs value=samples/yes/three-verbs.json|samples/no/three-verbs.json bound-lock/1 at=cone:f4bf42894d608f16e39cb757609c9d0a82f50b31749b13599a4fc5ee303fcdf8 by=judge form=alphabet measure=status role=writes scope=law/verify-agrees value=present bound-lock/1 at=cone:f4bf42894d608f16e39cb757609c9d0a82f50b31749b13599a4fc5ee303fcdf8 by=judge form=alphabet measure=cone role=writes scope=law/verify-agrees value=samples/yes/verify-agrees.json|samples/no/verify-agrees.json -bound-lock/1 at=cone:38393cb6f8e1d9c0c7afd2c6faf7a953232e0edbb57f1029e50c0f828ddf4197 by=judge form=alphabet measure=id role=writes scope=view/citation-file value=cff -bound-lock/1 at=cone:38393cb6f8e1d9c0c7afd2c6faf7a953232e0edbb57f1029e50c0f828ddf4197 by=judge form=alphabet measure=cone role=writes scope=view/citation-file value=CITATION.cff -bound-lock/1 at=cone:2207bfb7237fd7dbf4e4fb11f070cf4ec126ae7db52044504795b64eccfc9e0c by=judge form=alphabet measure=id role=writes scope=view/explanation value=idea|what-holds|refuses -bound-lock/1 at=cone:2207bfb7237fd7dbf4e4fb11f070cf4ec126ae7db52044504795b64eccfc9e0c by=judge form=alphabet measure=cone role=writes scope=view/explanation value=docs/why.md +bound-lock/1 at=cone:b86709db07f8d85d165ab4a69626ffadb72b500a400a846d9d2c18ad95a68872 by=judge form=alphabet measure=id role=writes scope=view/citation-file value=cff +bound-lock/1 at=cone:b86709db07f8d85d165ab4a69626ffadb72b500a400a846d9d2c18ad95a68872 by=judge form=alphabet measure=cone role=writes scope=view/citation-file value=CITATION.cff +bound-lock/1 at=cone:b1f48fdf405f81da14ed49dacc4407066a18d1e5ee5c9cd3d654a42d3545f75e by=judge form=alphabet measure=id role=writes scope=view/explanation value=idea|what-holds|refuses +bound-lock/1 at=cone:b1f48fdf405f81da14ed49dacc4407066a18d1e5ee5c9cd3d654a42d3545f75e by=judge form=alphabet measure=cone role=writes scope=view/explanation value=docs/why.md bound-lock/1 at=cone:5af7aa019f81d75b150501e03cf4c96cce75f87d47ed0922c1f3179c14e5e67d by=judge form=alphabet measure=id role=writes scope=view/guide value=seq bound-lock/1 at=cone:5af7aa019f81d75b150501e03cf4c96cce75f87d47ed0922c1f3179c14e5e67d by=judge form=alphabet measure=cone role=writes scope=view/guide value=docs/guide.md -bound-lock/1 at=cone:0216dcddc9cc5cf08e750f1e10cbe17ad3408e9ee4b6aa3185ded9b880d1f9b0 by=judge form=alphabet measure=id role=writes scope=view/manifest-render value=text@3 -bound-lock/1 at=cone:0216dcddc9cc5cf08e750f1e10cbe17ad3408e9ee4b6aa3185ded9b880d1f9b0 by=judge form=alphabet measure=cone role=writes scope=view/manifest-render value=package.json -bound-lock/1 at=cone:fa1469604beca94fbe698011c94bf0fedcdea56ce9b851809d8d99d13bc648a2 by=judge form=alphabet measure=id role=writes scope=view/readme-historical value=hero@3|commands@3|idea@3 -bound-lock/1 at=cone:fa1469604beca94fbe698011c94bf0fedcdea56ce9b851809d8d99d13bc648a2 by=judge form=alphabet measure=cone role=writes scope=view/readme-historical value=README.md +bound-lock/1 at=cone:511e992f72f33c022e95dd7dc1c9aefe80567537c692f5f5d640d9c56fef7576 by=judge form=alphabet measure=id role=writes scope=view/manifest-render value=text@3 +bound-lock/1 at=cone:511e992f72f33c022e95dd7dc1c9aefe80567537c692f5f5d640d9c56fef7576 by=judge form=alphabet measure=cone role=writes scope=view/manifest-render value=package.json +bound-lock/1 at=cone:7cb9b04f9468a4a69adf2c74cd4cfd2c385ca177f66efeb013b7ad0ea402a873 by=judge form=alphabet measure=id role=writes scope=view/readme-historical value=hero@3|commands@3|idea@3 +bound-lock/1 at=cone:7cb9b04f9468a4a69adf2c74cd4cfd2c385ca177f66efeb013b7ad0ea402a873 by=judge form=alphabet measure=cone role=writes scope=view/readme-historical value=README.md bound-lock/1 at=cone:73e5f49f2c68ae68297168be62142f4c0310322535b892de92e7b5b71cbbd798 by=judge form=alphabet measure=id role=writes scope=view/reference value=term|set|ref bound-lock/1 at=cone:73e5f49f2c68ae68297168be62142f4c0310322535b892de92e7b5b71cbbd798 by=judge form=alphabet measure=cone role=writes scope=view/reference value=docs/reference.md bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f17484642a79e by=judge form=alphabet measure=id role=writes scope=view/release-workflow-render value=text@3 bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f17484642a79e by=judge form=alphabet measure=cone role=writes scope=view/release-workflow-render value=.github/workflows/release.yml bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=id role=writes scope=view/usage-profile value=text@3 bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=cone role=writes scope=view/usage-profile value=docs/usage.md -bound-lock/1 at=place:sha256:2b9e2b300e99a774144996b034812d2f6630c230c70ad0cf39c2385b435cde31 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:2b9e2b300e99a774144996b034812d2f6630c230c70ad0cf39c2385b435cde31 -bound-lock/1 at=place:sha256:5a227f054030a40455a7b540aa60c3839f1cee0532a285dd60e788c78acd90f5 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:86d74168cbb84387ed9c513e2b371dd3d51f8ac071b23dcf9f9fe7f14bb527be -bound-lock/1 at=place:sha256:1708944f6cdec2b588a774a8428c4593584a89e1950c6d229a64e078a82a93fc by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 -bound-lock/1 at=place:sha256:b640331baae474caedf5407440fde660bd5c636f60dc5240e0881835f0fcef7d by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 -bound-lock/1 at=place:sha256:f6727d0688d4d99d601e8fb543996618bb51310d2bb172895261501714c95584 by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 -bound-lock/1 at=place:sha256:1a7d0d8e652f008f5d8e25b53f78755caf703bffdd80ab36a19838596d888590 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 -bound-lock/1 at=place:sha256:5b2bbc14f2d71c5b156a2900469191077ba537f6e8dc412293c7c8008752d7fb by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 -bound-lock/1 at=place:sha256:1ba3aadc3fc9eb4c7bc601c7f5467c41929d79466313e908999d56a1cf50b08d by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 -bound-lock/1 at=place:sha256:ff7c3f1ad83d53e399d24f2638c01c15c895b76b1bf26d06c132f728b5ae56f5 by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 -bound-lock/1 at=place:sha256:f2068c6936f87554740100696c1c533f1e109b1ec94e2c17287e08183e3f4ed4 by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 -bound-lock/1 at=place:sha256:3b9e8da7aa8f1a10a4f01de3236c6ee36d02fde650e954440ac4a59f187e9884 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa + +bound-lock/1 at=place:sha256:9256dc6723df4d221d5ff5a5d5a569a8f6027d441d42dc47d22359c5b2a7e4cd by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:601b443a6bcfeb8f80f4b9f5b6a9a3b03d7f924df2baa763678e069e7de7733d + +bound-lock/1 at=place:sha256:33debac31d2a11eeeb9e86ed92bc089818199eb92c735fc82169325d550a3d85 by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 +bound-lock/1 at=place:sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 +bound-lock/1 at=place:sha256:bf51fd9f1d1f257f83bab6c8981cdb39f9e55919d5417594b232140fdfc452b9 by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 +bound-lock/1 at=place:sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 +bound-lock/1 at=place:sha256:4e68d62fcedaf0bcba285a276fb1693a7570615f4f35ebcd9498fe31b8d4538b by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:caedb76d608c0df4ac698a0b98f81f0ce9c091322523c1cb3d756a9b9de79d53 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:983ba62066937790de68cbbadab5a434cb79b877743e61691e0037e630d65023 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:4425c2a74b345c0c7e39b81eb951d75212d808177cf72f494d472c2cac07a673 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:d2cb618e507868988b2fb36c793d66708fc5b310c5e697c04e843b1654f68ddb by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 +bound-lock/1 at=place:sha256:26547d70ef820ae70351fd5bedcd3bdba047a179c2ff10476480182f5386e034 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:26547d70ef820ae70351fd5bedcd3bdba047a179c2ff10476480182f5386e034 +bound-lock/1 at=place:sha256:eb64230a937b31f362b26f8fa65dc89ae6c7b6f48b04f0f23aabd2dfdc4478b5 by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:14efce37002fcf7059ba79f536b5977dec16b6a3f420c9ece61c188f742405ef by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:08fbd553e0fc5cb9d0b619f27187169b71f66823b1bfdbf8343543ebaf9fcace by=bound form=interval measure=count role=writes scope=receipts/execute value=8..8 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:d2e89dcd3dc1331e48e9ed1f557da4250a02c0409548389b8089db2d0b9f16ca by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:54a1aa95180da1823567572736a95624f73abf2d449e10e552c65ce6d506e086 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 bound-lock/1 at=place:sha256:24023fde10bc3f5ad0c60d2b04cca3907b111a5431c6d6f0fc1171a9c3a67c8c by=bound form=interval measure=count role=writes scope=receipts/law value=10..10 -bound-lock/1 at=place:sha256:95911622e93010cc4662b2daf80d1b412f49968d9409fd3357b9c5f9502d552b by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 -bound-lock/1 at=place:sha256:dafbe0ac24795e387c523cdd1b5edfaaaa33bd55e34ee99ed51f12edc1b5c6ad by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 -bound-lock/1 at=place:sha256:ed596ff6a2b891871961af526dda7bbfd05e2a6aefc181d10a4ba3a2923007e2 by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 -bound-lock/1 at=place:sha256:281c92fcd639c99b5cf2fbfde6def0825f5ea5b5e64a4810910ef25dd2fb74e7 by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 -bound-lock/1 at=place:sha256:33de48fd74213538fb6c43cadb9a264ce08f58159d51e62b1b333c5b592e994e by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 -bound-lock/1 at=place:sha256:ded656218830b8bc739d6138f03c6cb586f3d24bfd44e4f9bf830a0abd95ccf9 by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 -bound-lock/1 at=place:sha256:5e4c70661ea67c16c9437b6b189e14d351c12e2c95432b0422b7f62abd014161 by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 -bound-lock/1 at=place:sha256:fa57d0e94c4564179cd375ca21dc974936fd08ec7b0e21d827bf8bce767b2729 by=bound form=interval measure=count role=writes scope=receipts/view value=16..16 -bound-lock/1 at=place:sha256:0a01469a1b91d0c00123aeaaf6bfd35ffae8cba64dc06d7cc79029332a105ed8 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:0a01469a1b91d0c00123aeaaf6bfd35ffae8cba64dc06d7cc79029332a105ed8 -bound-lock/1 at=place:sha256:0a01469a1b91d0c00123aeaaf6bfd35ffae8cba64dc06d7cc79029332a105ed8 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:0a01469a1b91d0c00123aeaaf6bfd35ffae8cba64dc06d7cc79029332a105ed8 -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d -bound-lock/1 at=place:sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:b9206465188ba307a75919bbdbf6f69f2f69e0b8508ff424600810d1a16da85d +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:1e455d16eae3f8af6ec0572b277acd383acbc15797955332f993ce9a75ed8303 by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:d3bbd07262af1db011bc39a44c7ae31e87d9156bbc53ea3950fc064fd8704a2a by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:2c28157d37fdf925e25660297f51dfa784a6cc6451481fcd2782010e420aaa25 by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:c2429b99987646e587d28b1d90c42e4df082a9eb5baa537b4f97aa4c2a72d63f by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:cb78acbb552e8315ccce62702969afd754c13104ec3ded108187bdbd14b2f570 by=bound form=interval measure=count role=writes scope=receipts/proof value=8..8 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:fc24732bc8cccfa780c20fb25e05b2aea8ba843431c6af1c642dd92ade4e32eb by=bound form=interval measure=count role=writes scope=receipts/receipts value=87..87 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:3ae07948eaa94d22167e835caa2524cc4efdea7a54654a33d38094e0236cba35 by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:e477ab8d273a4a3dfe8c0ed7eb007523d6e1c5e2fabcba62bc0adf4e1676b0b6 by=bound form=interval measure=count role=writes scope=receipts/samples value=44..44 +bound-lock/1 at=place:sha256:c4dfdd5f0d2dfa60c674fb6d3e6e7e5b917163f0626604f0998150c01963f056 by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:c4dfdd5f0d2dfa60c674fb6d3e6e7e5b917163f0626604f0998150c01963f056 +bound-lock/1 at=place:sha256:4b33d417a5bf1d38c2e54272a5d73b86971166d546620d9ea7b9fb72c579368b by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:6413d26bc20557355e7515e15d13e0cbda6b6938057c78e942ed97fadcefacd9 by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:cd9bae2daf71dec9d3b15c1e5b60afb1a1fd05154eb0c79619f3e0aede7f5f49 by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 +bound-lock/1 at=place:sha256:035cd116aec096e73c0101cae5a13ac8ad72da02efa5cffd160651d86557d3f7 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:035cd116aec096e73c0101cae5a13ac8ad72da02efa5cffd160651d86557d3f7 +bound-lock/1 at=place:sha256:1c9ee8060471185a172fbe44aaa8f375282fad5c1550160adbb180cded3bb2b5 by=bound form=interval measure=count role=writes scope=receipts/view value=16..16 +bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 diff --git a/samples/no/015-stage-10.json b/samples/no/015-stage-10.json new file mode 100644 index 0000000..9f0f166 --- /dev/null +++ b/samples/no/015-stage-10.json @@ -0,0 +1,4 @@ +{ + "cause": "digest-mismatch", + "byteOffset": 8 +} diff --git a/samples/no/attest-evidence.json b/samples/no/attest-evidence.json new file mode 100644 index 0000000..d43cab4 --- /dev/null +++ b/samples/no/attest-evidence.json @@ -0,0 +1,7 @@ +{ + "uncovered": { + "scope": "sample/north", + "value": "uncovered" + }, + "tamperedValue": "altered" +} diff --git a/samples/no/historical-build.json b/samples/no/historical-build.json new file mode 100644 index 0000000..996ed63 --- /dev/null +++ b/samples/no/historical-build.json @@ -0,0 +1,4 @@ +{ + "view": "unoffered", + "region": "not-offered" +} diff --git a/samples/no/historical-document-views.json b/samples/no/historical-document-views.json new file mode 100644 index 0000000..5e6a3fb --- /dev/null +++ b/samples/no/historical-document-views.json @@ -0,0 +1,11 @@ +{ + "view": "unoffered", + "region": "not-offered", + "conflict": { + "path": "disagreement.txt", + "bodies": [ + "One reading.\n", + "Another reading.\n" + ] + } +} diff --git a/samples/no/historical-presentation.json b/samples/no/historical-presentation.json new file mode 100644 index 0000000..996ed63 --- /dev/null +++ b/samples/no/historical-presentation.json @@ -0,0 +1,4 @@ +{ + "view": "unoffered", + "region": "not-offered" +} diff --git a/samples/no/native-views.json b/samples/no/native-views.json new file mode 100644 index 0000000..2c4946a --- /dev/null +++ b/samples/no/native-views.json @@ -0,0 +1,8 @@ +{ + "uncovered": { + "scope": "sample/north", + "value": "uncovered" + }, + "tamperedValue": "altered", + "missingView": "not-provided-by-this-place" +} diff --git a/samples/no/program-views.json b/samples/no/program-views.json new file mode 100644 index 0000000..6a91e19 --- /dev/null +++ b/samples/no/program-views.json @@ -0,0 +1,3 @@ +{ + "cycle": true +} diff --git a/samples/no/prose-views.json b/samples/no/prose-views.json new file mode 100644 index 0000000..c546456 --- /dev/null +++ b/samples/no/prose-views.json @@ -0,0 +1,7 @@ +{ + "path": "disagreement.txt", + "bodies": [ + "One reading.\n", + "Another reading.\n" + ] +} diff --git a/samples/no/query-views.json b/samples/no/query-views.json new file mode 100644 index 0000000..428c86d --- /dev/null +++ b/samples/no/query-views.json @@ -0,0 +1,4 @@ +{ + "absentCoordinate": "not-declared.txt", + "missingView": "missing" +} diff --git a/samples/no/signing-port.json b/samples/no/signing-port.json new file mode 100644 index 0000000..190d113 --- /dev/null +++ b/samples/no/signing-port.json @@ -0,0 +1 @@ +{"unknownVersion":"bound-lock/0"} diff --git a/samples/no/typed-object.json b/samples/no/typed-object.json new file mode 100644 index 0000000..5b3d074 --- /dev/null +++ b/samples/no/typed-object.json @@ -0,0 +1,142 @@ +[ + { + "name": "floor-local", + "record": { + "type": "mark", + "scope": "B", + "id": "invalid-floor", + "sign": "+1", + "pole": "floor", + "reach": "local", + "value": "40..*" + }, + "refusal": "positive mark" + }, + { + "name": "floor-widens", + "record": { + "type": "mark", + "scope": "B", + "id": "floor-widens", + "sign": "+1", + "pole": "floor", + "reach": "travels", + "widens": "local-opening", + "value": "40..*" + }, + "refusal": "positive mark" + }, + { + "name": "travelling-widens", + "record": { + "type": "mark", + "scope": "B", + "id": "travelling-widens", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "widens": "local-opening", + "value": "0..100" + }, + "refusal": "positive mark" + }, + { + "name": "object-at", + "record": { + "type": "claim", + "scope": "C", + "id": "object-at", + "sign": "+1", + "origin": "ana", + "value": "44..47", + "at": "origin:ana" + }, + "refusal": "object records carry no at" + }, + { + "name": "typed-missing-origin", + "record": { + "type": "claim", + "scope": "C", + "id": "incomplete", + "sign": "+1", + "value": "44..47" + }, + "refusal": "required.*origin" + }, + { + "name": "legacy-role-cannot-rescue", + "record": { + "type": "claim", + "scope": "C", + "id": "legacy-role", + "role": "reads", + "sign": "+1", + "value": "44..47" + }, + "refusal": "role=.*not allowed" + }, + { + "name": "untyped-id", + "record": { + "scope": "evidence/config", + "role": "writes", + "form": "alphabet", + "measure": "id", + "value": "present", + "at": "policy:sample", + "id": "untyped" + }, + "refusal": "id=.*object-only" + }, + { + "name": "missing-origin-grant", + "record": { + "type": "claim", + "scope": "C", + "id": "missing-origin", + "sign": "+1", + "origin": "unadmitted", + "value": "44..47" + }, + "refusal": "origin is not attested" + }, + { + "name": "missing-witness-grant", + "record": { + "type": "mark", + "scope": "B", + "id": "missing-witness", + "sign": "+1", + "pole": "ceiling", + "reach": "local", + "widens": "unadmitted", + "value": "0..100" + }, + "refusal": "join witness is not admitted" + }, + { + "name": "id-collision", + "record": { + "type": "mark", + "scope": "B", + "id": "s-B", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "value": "0..49" + }, + "refusal": "record ID collision" + }, + { + "name": "cross-cell-takes", + "record": { + "type": "mark", + "scope": "G", + "id": "cross-cell", + "sign": "-1", + "takes": "s-B" + }, + "refusal": "incompatible withdrawal target" + } +] diff --git a/samples/no/walk.json b/samples/no/walk.json new file mode 100644 index 0000000..0d5fbe3 --- /dev/null +++ b/samples/no/walk.json @@ -0,0 +1,16 @@ +{ + "contract": "whole-region@1", + "cases": [ + "conflicting wire/fields", + "altered payload", + "missing payload", + "epoch outside signed cut", + "unauthorized signer", + "stale receiver base", + "unsupported resolution", + "omitted earlier records", + "insertion at an already verified epoch", + "interrupted receiver signer" + ], + "invariant": "No rejected or interrupted lot adds admitted evidence or a local import receipt. Dead-owner lock requires separate host recovery." +} diff --git a/samples/typed/artifacts.json b/samples/typed/artifacts.json new file mode 100644 index 0000000..1d21ee2 --- /dev/null +++ b/samples/typed/artifacts.json @@ -0,0 +1,81 @@ +{ + "cells": [ + { + "scope": "B", + "restsOn": "none" + }, + { + "scope": "C", + "restsOn": "B" + }, + { + "scope": "G", + "restsOn": "C" + }, + { + "scope": "D", + "restsOn": "none" + } + ], + "acts": [ + { + "type": "mark", + "scope": "B", + "id": "s-B", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "value": "lock|readme" + }, + { + "type": "mark", + "scope": "B", + "id": "j-B", + "sign": "+1", + "pole": "ceiling", + "reach": "local", + "widens": "local-opening", + "value": "lock|readme|source" + }, + { + "type": "mark", + "scope": "B", + "id": "r-B", + "sign": "+1", + "pole": "floor", + "reach": "travels", + "value": "lock" + }, + { + "type": "claim", + "scope": "C", + "id": "c-C", + "sign": "+1", + "origin": "ana", + "value": "lock|readme" + }, + { + "type": "claim", + "scope": "C", + "id": "c-L", + "sign": "+1", + "origin": "luis", + "value": "lock" + } + ], + "form": "alphabet", + "measure": "artifact", + "params": { + "tokens": [ + "lock", + "readme", + "source" + ] + }, + "scenarios": { + "conflicting": "readme", + "outside": "source", + "floorConflict": "source" + }, + "place": "repository-artifacts" +} diff --git a/samples/typed/artifacts.vector.json b/samples/typed/artifacts.vector.json new file mode 100644 index 0000000..65478fd --- /dev/null +++ b/samples/typed/artifacts.vector.json @@ -0,0 +1,173 @@ +{ + "status": "captured installed prototype output, not native receipts or release acceptance", + "sample": "artifacts", + "capture": "evidence/shipped-sample.artifacts.json", + "readerArchive": "sha256:f35f1f6d2d3123c726d26f65abafe648e6b529ed3661e2d9dc308dcb1bdf228d", + "pin": "sha256:c65f4340d3f2a95103d85f68059a882ebbeb5616de31d20ed06f430889252767", + "observations": [ + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":1},\"width\":3},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":1},\"width\":3},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":2},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"},{\"id\":\"disagreement\",\"origin\":\"ana\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":2},\"width\":3}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}]}", + "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":0},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":4},\"width\":3},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}]}", + "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":0},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":4},\"width\":3},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "case": "floor-local", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "floor-widens", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "travelling-widens", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "object-at", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 object records carry no at: order is epoch and a local join witness is widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "typed-missing-origin", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 a claim/positive record has no declared required `origin` \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "legacy-role-cannot-rescue", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 `role=` is not allowed on claim/positive \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "untyped-id", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire evidence/config \u00b7 `id=` is an object-only field: untyped configuration cannot carry it \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "missing-origin-grant", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: origin is not attested for missing-origin \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "missing-witness-grant", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: join witness is not admitted for missing-witness \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "id-collision", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: record ID collision s-B \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "cross-cell-takes", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: unauthorized or incompatible withdrawal target s-B \u00b7 nothing landed\n", + "ledgerUnchanged": true + } + ] +} diff --git a/samples/typed/contract.json b/samples/typed/contract.json new file mode 100644 index 0000000..b81020d --- /dev/null +++ b/samples/typed/contract.json @@ -0,0 +1,37 @@ +{ + "status": "publication candidate; member declarations admitted and installed prototype inclusion verified; release acceptance unpaid", + "owner": "selected Topos provides interval decoding and explicit origin/witness grants; Bound admits; Obligations computes", + "run": "node tools/samples/run-typed.mjs", + "assets": [ + "wire.json", + "yes.json", + "no.json", + "artifacts.json", + "range.vector.json", + "artifacts.vector.json" + ], + "provider": "tools/samples/typed-provider.mjs", + "installation": "uses only published SDK modules and the selected installed Bound CLI; no source conditions, checkout ledger, owner key or pre-existing CAS", + "checks": [ + "native PIN before cells", + "exact artifact hashes", + "sign travels; join stays local", + "floor travels", + "two independent origins", + "REQUIRED", + "FREE", + "CONFLICT claims", + "CONFLICT bounds", + "FORBIDDEN", + "exact-id withdrawal", + "unchanged receipt reuse", + "floor+local refuses", + "second unrelated place selects alphabet form for repository artifacts" + ], + "oracle": "direct cell/sign/join/require/observe/parts/state/live calls from Obligations 0.3.5", + "limitations": [ + "full typed rejection corpus still unpaid", + "publication quartet is not yet measured by the admitted contract/published law", + "mandatory walk and exact 0.1.5 acceptance remain unpaid" + ] +} diff --git a/samples/typed/no.json b/samples/typed/no.json new file mode 100644 index 0000000..5b3d074 --- /dev/null +++ b/samples/typed/no.json @@ -0,0 +1,142 @@ +[ + { + "name": "floor-local", + "record": { + "type": "mark", + "scope": "B", + "id": "invalid-floor", + "sign": "+1", + "pole": "floor", + "reach": "local", + "value": "40..*" + }, + "refusal": "positive mark" + }, + { + "name": "floor-widens", + "record": { + "type": "mark", + "scope": "B", + "id": "floor-widens", + "sign": "+1", + "pole": "floor", + "reach": "travels", + "widens": "local-opening", + "value": "40..*" + }, + "refusal": "positive mark" + }, + { + "name": "travelling-widens", + "record": { + "type": "mark", + "scope": "B", + "id": "travelling-widens", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "widens": "local-opening", + "value": "0..100" + }, + "refusal": "positive mark" + }, + { + "name": "object-at", + "record": { + "type": "claim", + "scope": "C", + "id": "object-at", + "sign": "+1", + "origin": "ana", + "value": "44..47", + "at": "origin:ana" + }, + "refusal": "object records carry no at" + }, + { + "name": "typed-missing-origin", + "record": { + "type": "claim", + "scope": "C", + "id": "incomplete", + "sign": "+1", + "value": "44..47" + }, + "refusal": "required.*origin" + }, + { + "name": "legacy-role-cannot-rescue", + "record": { + "type": "claim", + "scope": "C", + "id": "legacy-role", + "role": "reads", + "sign": "+1", + "value": "44..47" + }, + "refusal": "role=.*not allowed" + }, + { + "name": "untyped-id", + "record": { + "scope": "evidence/config", + "role": "writes", + "form": "alphabet", + "measure": "id", + "value": "present", + "at": "policy:sample", + "id": "untyped" + }, + "refusal": "id=.*object-only" + }, + { + "name": "missing-origin-grant", + "record": { + "type": "claim", + "scope": "C", + "id": "missing-origin", + "sign": "+1", + "origin": "unadmitted", + "value": "44..47" + }, + "refusal": "origin is not attested" + }, + { + "name": "missing-witness-grant", + "record": { + "type": "mark", + "scope": "B", + "id": "missing-witness", + "sign": "+1", + "pole": "ceiling", + "reach": "local", + "widens": "unadmitted", + "value": "0..100" + }, + "refusal": "join witness is not admitted" + }, + { + "name": "id-collision", + "record": { + "type": "mark", + "scope": "B", + "id": "s-B", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "value": "0..49" + }, + "refusal": "record ID collision" + }, + { + "name": "cross-cell-takes", + "record": { + "type": "mark", + "scope": "G", + "id": "cross-cell", + "sign": "-1", + "takes": "s-B" + }, + "refusal": "incompatible withdrawal target" + } +] diff --git a/samples/typed/range.vector.json b/samples/typed/range.vector.json new file mode 100644 index 0000000..937b464 --- /dev/null +++ b/samples/typed/range.vector.json @@ -0,0 +1,173 @@ +{ + "status": "captured installed prototype output, not native receipts or release acceptance", + "sample": "range", + "capture": "evidence/shipped-sample.range.json", + "readerArchive": "sha256:f35f1f6d2d3123c726d26f65abafe648e6b529ed3661e2d9dc308dcb1bdf228d", + "pin": "sha256:c98647a42b55fc829e39dea4ee295bec4b36530f17540e4125f2e686f5fd61a7", + "observations": [ + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":47},\"ceiling\":{\"lo\":44,\"hi\":47},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":47},\"ceiling\":{\"lo\":44,\"hi\":47},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":43},\"ceiling\":{\"lo\":44,\"hi\":43},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"},{\"id\":\"disagreement\",\"origin\":\"ana\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", + "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", + "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "case": "floor-local", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "floor-widens", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "travelling-widens", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "object-at", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 object records carry no at: order is epoch and a local join witness is widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "typed-missing-origin", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 a claim/positive record has no declared required `origin` \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "legacy-role-cannot-rescue", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 `role=` is not allowed on claim/positive \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "untyped-id", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire evidence/config \u00b7 `id=` is an object-only field: untyped configuration cannot carry it \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "missing-origin-grant", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: origin is not attested for missing-origin \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "missing-witness-grant", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: join witness is not admitted for missing-witness \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "id-collision", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: record ID collision s-B \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "cross-cell-takes", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: unauthorized or incompatible withdrawal target s-B \u00b7 nothing landed\n", + "ledgerUnchanged": true + } + ] +} diff --git a/samples/typed/wire.json b/samples/typed/wire.json new file mode 100644 index 0000000..988a0de --- /dev/null +++ b/samples/typed/wire.json @@ -0,0 +1,22 @@ +[ + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type" +] diff --git a/samples/typed/yes.json b/samples/typed/yes.json new file mode 100644 index 0000000..f375bf9 --- /dev/null +++ b/samples/typed/yes.json @@ -0,0 +1,78 @@ +{ + "cells": [ + { + "scope": "B", + "restsOn": "none" + }, + { + "scope": "C", + "restsOn": "B" + }, + { + "scope": "G", + "restsOn": "C" + }, + { + "scope": "D", + "restsOn": "none" + } + ], + "acts": [ + { + "type": "mark", + "scope": "B", + "id": "s-B", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "value": "0..50" + }, + { + "type": "mark", + "scope": "B", + "id": "j-B", + "sign": "+1", + "pole": "ceiling", + "reach": "local", + "widens": "local-opening", + "value": "0..100" + }, + { + "type": "mark", + "scope": "B", + "id": "r-B", + "sign": "+1", + "pole": "floor", + "reach": "travels", + "value": "40..*" + }, + { + "type": "claim", + "scope": "C", + "id": "c-C", + "sign": "+1", + "origin": "ana", + "value": "42..48" + }, + { + "type": "claim", + "scope": "C", + "id": "c-L", + "sign": "+1", + "origin": "luis", + "value": "44..47" + } + ], + "form": "interval", + "measure": "count", + "params": { + "lo": 0, + "hi": 100 + }, + "scenarios": { + "conflicting": "40..43", + "outside": "65..75", + "floorConflict": "60..*" + }, + "place": "range" +} diff --git a/samples/walk/no.json b/samples/walk/no.json new file mode 100644 index 0000000..0d5fbe3 --- /dev/null +++ b/samples/walk/no.json @@ -0,0 +1,16 @@ +{ + "contract": "whole-region@1", + "cases": [ + "conflicting wire/fields", + "altered payload", + "missing payload", + "epoch outside signed cut", + "unauthorized signer", + "stale receiver base", + "unsupported resolution", + "omitted earlier records", + "insertion at an already verified epoch", + "interrupted receiver signer" + ], + "invariant": "No rejected or interrupted lot adds admitted evidence or a local import receipt. Dead-owner lock requires separate host recovery." +} diff --git a/samples/walk/refinement.json b/samples/walk/refinement.json new file mode 100644 index 0000000..8ae1bf2 --- /dev/null +++ b/samples/walk/refinement.json @@ -0,0 +1,9 @@ +[ + "bound-lock/1 at=policy:whole-region-walk-contract by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1", + "bound-lock/1 at=policy:whole-region-walk-contract by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sign|takes|topos|type|value|view|widens", + "bound-lock/1 at=policy:whole-region-walk-contract by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value", + "bound-lock/1 at=policy:whole-region-walk-contract by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|5|6|8", + "bound-lock/1 at=policy:whole-region-walk-contract by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|5:summary|6:history|8:history", + "bound-lock/1 at=policy:coordinate-refinement by=target form=alphabet measure=id role=writes scope=wire/walk/partition value=scope-coordinates@1", + "bound-lock/1 at=policy:coordinate-refinement by=target form=alphabet measure=id role=writes scope=wire/walk/refinements value=0:1|1:1|4:3|5:all|6:all|8:all" +] diff --git a/samples/walk/typed-vector.json b/samples/walk/typed-vector.json new file mode 100644 index 0000000..accdc72 --- /dev/null +++ b/samples/walk/typed-vector.json @@ -0,0 +1,14 @@ +{ + "contract": "whole-region@1 typed foreign evidence", + "places": ["interval measurements", "repository artifact membership"], + "runner": "tools/samples/run-typed-walk.mjs", + "required": [ + "Origin context declares its complete semantic history fields, public authority resolution and the selected object provider", + "The native CLI admits authenticated cell/claim/mark histories as foreign evidence", + "A foreign claim withdrawal and a local claim sharing its target ID coexist", + "Foreign withdrawal stays in the evidence view; local claim stays live", + "Local cells and native cell receipts remain unchanged and idle", + "Replay prints ONCE, retaining one import receipt and no new local lines" + ], + "excludes": "This vector does not certify reconstruction of one object from several origin histories. Foreign evidence is never concatenated into local authority or a global epoch order." +} diff --git a/samples/walk/yes.json b/samples/walk/yes.json new file mode 100644 index 0000000..9ca66be --- /dev/null +++ b/samples/walk/yes.json @@ -0,0 +1,100 @@ +{ + "contract": "whole-region@1", + "places": [ + "measurement", + "artifact" + ], + "declarations": [ + [ + "wire/digest-algorithms", + "id", + "sha256" + ], + [ + "wire/signature-algorithms", + "id", + "ed25519:sample" + ], + [ + "wire/era", + "id", + "sample" + ], + [ + "wire/families", + "id", + "keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample" + ], + [ + "wire/fields", + "id", + "scope|role|form|measure|value|by|at|epoch|sig|condition|needs" + ], + [ + "wire/required", + "id", + "scope|role|form|measure|value|by|at" + ], + [ + "wire/forms", + "id", + "alphabet|interval" + ], + [ + "wire/roles", + "id", + "reads|writes|demands" + ], + [ + "wire/at-classes", + "id", + "origin|place|receipt|witness|policy" + ], + [ + "wire/walk/contract", + "id", + "whole-region@1" + ], + [ + "wire/walk/fields", + "id", + "scope|role|form|measure|value|by|at|epoch|condition|needs" + ], + [ + "wire/walk/metadata-fields", + "id", + "at|by|condition|epoch|form|measure|role|scope|sig|value" + ], + [ + "wire/walk/resolutions", + "id", + "0|1|4|6|8" + ], + [ + "signer/timeout", + "milliseconds", + "5000..5000", + "interval" + ], + [ + "signer/response-bytes", + "bytes", + "65536..65536", + "interval" + ], + [ + "wire/walk/projections", + "id", + "0:inventory|1:summary|4:summary|6:history|8:history" + ] + ], + "requirements": [ + "@0/@1/@8 escalation", + "authenticated whole-region prefixes", + "two clocks", + "union retains both origins", + "unchanged exchange zero payload", + "atomic native receipt", + "replay zero writes" + ] +} diff --git a/samples/yes/015-stage-10.json b/samples/yes/015-stage-10.json new file mode 100644 index 0000000..b1d0c16 --- /dev/null +++ b/samples/yes/015-stage-10.json @@ -0,0 +1,28 @@ +{ + "algorithm": "sha256", + "packageProgram": "npm", + "timeoutMs": 5000, + "maxBytes": 1048576, + "places": [ + { + "name": "specimen-index", + "version": "1.0.0", + "files": { + "README.md": "A specimen index.\n", + "LICENSE": "MIT License\n", + "entry.mjs": "console.log('specimens: stored');\n" + }, + "stdout": "specimens: stored\n" + }, + { + "name": "route-notes", + "version": "1.0.0", + "files": { + "README.md": "Route observations.\n", + "LICENSE": "MIT License\n", + "entry.mjs": "console.log('routes: recorded');\n" + }, + "stdout": "routes: recorded\n" + } + ] +} diff --git a/samples/yes/attest-evidence.json b/samples/yes/attest-evidence.json new file mode 100644 index 0000000..3e79388 --- /dev/null +++ b/samples/yes/attest-evidence.json @@ -0,0 +1,8 @@ +{ + "keyClasses": [ + "authorize", + "read", + "access", + "attest" + ] +} diff --git a/samples/yes/historical-build.json b/samples/yes/historical-build.json new file mode 100644 index 0000000..e3e9ed1 --- /dev/null +++ b/samples/yes/historical-build.json @@ -0,0 +1,78 @@ +{ + "profile": "historical-build@1", + "providerSource": "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n render: () => render\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// node_modules/@lapxo/topos/dist/capsule/asked.js\nvar of = (line, field) => line?.[field] ?? \"\";\nvar found = (asked, scope) => asked.lines.find((line) => of(line, \"scope\") === scope);\nvar value = (asked, scope) => found(asked, scope) === void 0 ? void 0 : of(found(asked, scope), \"value\");\nvar listed = (asked, scope) => (value(asked, scope) ?? \"\").split(\"|\").filter(Boolean);\nvar lang = (asked) => value(asked, \"lang\") ?? \"\";\nvar at = (asked, scope) => ((line) => line === void 0 ? void 0 : of(line, \"value\"))(asked.lines.find((line) => of(line, \"scope\") === scope && of(line, \"shape\") === asked.shape));\nvar under = (asked, head) => asked.lines.filter((line) => of(line, \"shape\") === asked.shape && (of(line, \"scope\") === head || of(line, \"scope\").startsWith(`${head}/`))).map((line) => [of(line, \"scope\").slice(head.length + (of(line, \"scope\") === head ? 0 : 1)), of(line, \"value\")]).sort((a, b) => a[0] === \"\" ? -1 : b[0] === \"\" ? 1 : a[0].localeCompare(b[0]));\nvar json = (held) => `${JSON.stringify(held, null, 2)}\n`.split(\"\\n\").slice(0, -1);\nvar truth = (text) => text === \"true\" ? true : text === \"false\" ? false : text;\nvar sentence = (asked, text) => {\n const rule = listed(asked, `form/prose/${lang(asked)}/sentence`);\n let end = text.length;\n while (end > 0 && \".;:, \\n\".includes(text.charAt(end - 1)))\n end -= 1;\n const start = rule.includes(\"capital\") ? `${text.charAt(0).toUpperCase()}${text.slice(1, end)}` : text.slice(0, end);\n return rule.includes(\"period\") ? `${start}.` : start;\n};\n\n// node_modules/@lapxo/topos/dist/capsule/shell.js\nfunction shell(regions) {\n return (asked) => {\n const one = regions[asked.region];\n if (one === void 0)\n throw new Error(`REFUSE\\xB7region ${asked.region}: no line of this capsule renders it`);\n const short = one.reads.filter((read) => !asked.reads.includes(read));\n if (short.length)\n throw new Error(`REFUSE\\xB7region ${asked.region}: handed less than it declares, without ${short.join(\" \\xB7 \")}`);\n return one.region(asked);\n };\n}\n\n// src/regions/build.ts\nvar build = (asked) => {\n const options = under(asked, \"build\").filter(([name]) => name !== \"\");\n const include = options.find(([name]) => name === \"include\")?.[1];\n return json({ compilerOptions: Object.fromEntries(options.filter(([name]) => name !== \"include\").map(([name, held]) => [name, truth(held)])), ...include === void 0 ? {} : { include: include.split(\"|\") } });\n};\n\n// src/regions/manifest.ts\nvar versioned = (text) => Object.fromEntries((text ?? \"\").split(\"|\").filter(Boolean).map((one) => [one.slice(0, one.lastIndexOf(\"@\")), one.slice(one.lastIndexOf(\"@\") + 1)]));\nvar manifest = (asked) => {\n const [subpaths, bins, source, what] = [under(asked, \"exports\"), under(asked, \"bin\").filter(([name]) => name !== \"\"), at(asked, \"source\"), found(asked, `prose/${lang(asked)}/what`)];\n const resolved = (built) => ({ ...source ? { source: `./${source}${built.slice(built.indexOf(\"/\"))}.ts` } : {}, types: `./${built}.d.ts`, default: `./${built}.js` });\n const [repository, kind, side] = [at(asked, \"repository\"), at(asked, \"type\"), at(asked, \"sideEffects\")];\n return json({\n name: at(asked, \"name\"),\n version: at(asked, \"version\"),\n description: what === void 0 ? void 0 : sentence(asked, of(what, \"about\")),\n ...kind ? { type: kind } : {},\n license: at(asked, \"license\"),\n author: at(asked, \"author\"),\n ...repository ? { repository: { type: \"git\", url: `git+${repository}.git` } } : {},\n keywords: (at(asked, \"keywords\") ?? \"\").split(\"|\").filter(Boolean),\n ...side === void 0 ? {} : { sideEffects: truth(side) },\n engines: { node: at(asked, \"engines\") },\n exports: { ...Object.fromEntries(subpaths.map(([sub, built]) => [sub === \"\" ? \".\" : `./${sub}`, resolved(built)])), [`./${asked.shape}`]: `./${asked.shape}` },\n ...bins.length ? { bin: Object.fromEntries(bins.map(([name, built]) => [name, `./${built}.js`])) } : {},\n files: listed(asked, \"audit/wire/ships\"),\n scripts: Object.fromEntries(under(asked, \"scripts\").filter(([name]) => name !== \"\")),\n ...at(asked, \"dependencies\") === void 0 ? {} : { dependencies: versioned(at(asked, \"dependencies\")) },\n ...at(asked, \"devDependencies\") === void 0 ? {} : { devDependencies: versioned(at(asked, \"devDependencies\")) }\n });\n};\n\n// src/regions/published-manifest.ts\nvar publishedManifest = (asked) => {\n const held = JSON.parse(manifest(asked).join(\"\\n\"));\n for (const one of Object.values(held[\"exports\"])) if (typeof one === \"object\" && one !== null) delete one[\"source\"];\n return json(held);\n};\n\n// src/index.ts\nvar render = shell({\n build: { reads: [\"build/**\"], region: build },\n manifest: { reads: [\"name\", \"version\", \"type\", \"license\", \"author\", \"repository\", \"keywords\", \"sideEffects\", \"engines\", \"exports/**\", \"bin/**\", \"scripts/**\", \"dependencies\", \"devDependencies\", \"source\", \"lang\", \"prose/*/what\", \"form/prose/*/sentence\", \"audit/wire/ships\"], region: manifest },\n \"published-manifest\": { reads: [\"name\", \"version\", \"type\", \"license\", \"author\", \"repository\", \"keywords\", \"sideEffects\", \"engines\", \"exports/**\", \"bin/**\", \"scripts/**\", \"dependencies\", \"devDependencies\", \"source\", \"lang\", \"prose/*/what\", \"form/prose/*/sentence\", \"audit/wire/ships\"], region: publishedManifest }\n});\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n render\n});\n", + "providerDigest": "sha256:53c974b95957f654f13398bd6b2f781cb4b86f9f93a54d7a59fb2e4d38a7e017", + "provenance": { + "artifact": "sha256:384a74b07eb8c7235e584b2801dbda1d78acd7ef6dac933ab05400a40658c55b", + "member": "dist/index.js", + "fixtureOnly": true + }, + "regions": [ + { + "name": "build", + "reads": "build/**" + } + ], + "wire": [ + [ + "fields", + "scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn" + ], + [ + "required", + "scope|role|form|measure|value|by|at" + ], + [ + "forms", + "alphabet|interval" + ], + [ + "families", + "keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build" + ], + [ + "roles", + "reads|writes|demands" + ], + [ + "at-classes", + "policy|place|origin|witness|receipt" + ], + [ + "era", + "sample" + ], + [ + "signature-algorithms", + "ed25519:sample" + ], + [ + "digest-algorithms", + "sha256" + ], + [ + "region-measures", + "coordinates|leaves|reads|receipts" + ] + ], + "places": [ + { + "name": "sensor-types", + "options": { + "target": "ES2022", + "strict": "true", + "declaration": "true", + "include": "src/**/*.ts|types/**/*.ts" + } + }, + { + "name": "route-types", + "options": { + "target": "ES2020", + "strict": "false", + "module": "NodeNext", + "include": "lib/**/*.ts" + } + } + ] +} diff --git a/samples/yes/historical-document-views.json b/samples/yes/historical-document-views.json new file mode 100644 index 0000000..6cab0ff --- /dev/null +++ b/samples/yes/historical-document-views.json @@ -0,0 +1,191 @@ +{ + "profile": "topos-doc-historical@0.1.2", + "providerSource": "// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/values.js\nfunction unpipe(value2) {\n const out = [];\n let at = \"\";\n for (let i = 0; i < value2.length; i++) {\n const c = value2[i];\n if (c === \"\\\\\") {\n const next = value2[i + 1];\n if (next !== \"|\" && next !== \"\\\\\")\n return null;\n at += next;\n i += 1;\n } else if (c === \"|\") {\n out.push(at);\n at = \"\";\n } else {\n at += c;\n }\n }\n out.push(at);\n return out;\n}\nvar OPEN = \"*\";\nvar num = (s) => {\n if (!/^-?\\d+(\\.\\d+)?$/.test(s))\n return null;\n const n = Number(s);\n return isFinite(n) ? n : null;\n};\nvar GRAMMARS = {\n interval: (value2) => {\n const at = value2.indexOf(\"..\");\n if (at < 0)\n return null;\n const lo = value2.slice(0, at);\n const hi = value2.slice(at + 2);\n const l = lo === OPEN ? null : num(lo);\n const h = hi === OPEN ? null : num(hi);\n if (lo !== OPEN && l === null || hi !== OPEN && h === null)\n return null;\n return { kind: \"interval\", lo: l, hi: h };\n },\n alphabet: (value2) => {\n const values = unpipe(value2);\n return values === null ? null : { kind: \"enumerated\", values };\n },\n ladder: (value2) => {\n const parts2 = unpipe(value2);\n if (parts2 === null || parts2.length !== 2)\n return null;\n return { kind: \"band\", floor: parts2[0] ?? \"\", ceiling: parts2[1] ?? \"\" };\n }\n};\nfunction boundOf(form2, value2, grammars) {\n const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form2) : void 0;\n if (extra)\n return extra.parse(value2);\n return GRAMMARS[form2]?.(value2) ?? null;\n}\nvar BOUND_FORMS = Object.keys(GRAMMARS);\nvar REF_RELATIONS = [\"within\", \"copies\", \"derives\"];\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/grammar.js\nvar [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = [\"not:\", \"none\", \"|\", \"=\", \"/\", \"@\", \"*\", \"\\\\\"];\nvar refuse = (grammar, why) => {\n throw new Error(`REFUSE\\xB7wire ${grammar}: ${why}`);\n};\nvar digits = (text) => text !== \"\" && [...text].every((one) => one >= \"0\" && one <= \"9\");\nfunction alphabet(given) {\n if (typeof given !== \"string\") {\n const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER);\n if (given.polarity === \"forbid\")\n return FORBID + written;\n return written.startsWith(FORBID) || written === EMPTY ? refuse(\"alphabet\", \"a permitted alphabet neither begins with not: nor is the one word none\") : written || EMPTY;\n }\n const forbid = given.startsWith(FORBID);\n const body = forbid ? given.slice(FORBID.length) : given;\n const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse(\"alphabet\", \"a backslash escapes only a pipe or itself\");\n return { polarity: forbid ? \"forbid\" : \"permit\", members: members.filter((one) => one !== \"\") };\n}\nfunction fields(given) {\n if (typeof given !== \"string\")\n return alphabet({ polarity: \"permit\", members: given.map(([key, value2]) => key + PAIR + value2) });\n const read = alphabet(given);\n if (read.polarity === \"forbid\")\n refuse(\"fields\", \"fields carry no polarity\");\n return read.members.map((one) => one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse(\"fields\", `\\`${one}\\` is not key=value`));\n}\nfunction steps(given) {\n if (typeof given === \"string\")\n return given.split(STEP);\n return given.some((one) => one.includes(STEP)) ? refuse(\"steps\", \"a step holds no slash\") : given.join(STEP);\n}\nfunction atResolution(given) {\n if (typeof given !== \"string\")\n return given.at === void 0 ? given.name : given.name + AT + String(given.at);\n const at = given.lastIndexOf(AT);\n if (at < 0)\n return { name: given };\n const [name, said] = [given.slice(0, at), given.slice(at + 1)];\n if (name === \"\" || said !== EVERY && !digits(said))\n refuse(\"atResolution\", `\\`${given}\\` is not name@digits or name@*`);\n return { name, at: said === EVERY ? EVERY : Number(said) };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/capsule/asked.js\nvar of = (line, field) => line?.[field] ?? \"\";\nvar found = (asked, scope) => asked.lines.find((line) => of(line, \"scope\") === scope);\nvar value = (asked, scope) => found(asked, scope) === void 0 ? void 0 : of(found(asked, scope), \"value\");\nvar listed = (asked, scope) => alphabet(value(asked, scope) ?? \"\").members;\nvar lang = (asked) => value(asked, \"lang\") ?? \"\";\nvar receipts = (asked, region) => asked.regions[region]?.receipts ?? [];\nvar placeOf = (line) => of(line, \"at\").replace(/^[^:]*:/, \"\");\nvar regionLines = (asked, region) => asked.regions[region]?.lines ?? [];\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/classes.js\nfunction matchStar(pat, seg) {\n if (!pat.includes(\"*\"))\n return pat === seg;\n const bits = pat.split(\"*\");\n if (!seg.startsWith(bits[0]))\n return false;\n let i = bits[0].length;\n for (let b = 1; b < bits.length; b++) {\n const bit = bits[b];\n if (bit === \"\")\n return b === bits.length - 1 || matchStar(bits.slice(b).join(\"*\"), seg.slice(i));\n const hit = seg.indexOf(bit, i);\n if (hit < 0)\n return false;\n i = hit + bit.length;\n }\n return i === seg.length || pat.endsWith(\"*\");\n}\nfunction matchParts(g, gi, p, pi) {\n if (gi === g.length)\n return pi === p.length;\n if (g[gi] === \"**\") {\n if (gi + 1 === g.length)\n return true;\n for (let k = pi; k <= p.length; k++) {\n if (matchParts(g, gi + 1, p, k))\n return true;\n }\n return false;\n }\n if (pi === p.length)\n return false;\n if (!matchStar(g[gi], p[pi]))\n return false;\n return matchParts(g, gi + 1, p, pi + 1);\n}\nfunction matches(glob, place) {\n return matchParts(glob.split(\"/\"), 0, place.split(\"/\"), 0);\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/outcome.js\nvar fact = (value2) => ({ kind: \"fact\", value: value2 });\nvar abstain = (why) => ({ kind: \"abstain\", why });\nvar refuse2 = (why, named) => ({ kind: \"refuse\", why, ...named === void 0 ? {} : { named } });\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/line.js\nvar PROTOCOL = \"bound-lock/1\";\nvar NEEDS_QUOTE = /[ =\"\\n\\\\]/;\nfunction escape(value2) {\n if (!NEEDS_QUOTE.test(value2))\n return value2;\n return `\"${value2.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\")}\"`;\n}\nfunction unescape(token) {\n if (!token.startsWith('\"'))\n return NEEDS_QUOTE.test(token) ? null : token;\n if (token.length < 2 || !token.endsWith('\"'))\n return null;\n const body = token.slice(1, -1);\n let out = \"\";\n for (let i = 0; i < body.length; i++) {\n const c = body[i];\n if (c !== \"\\\\\") {\n if (c === '\"')\n return null;\n out += c;\n continue;\n }\n const next = body[i + 1];\n if (next === '\"')\n out += '\"';\n else if (next === \"\\\\\")\n out += \"\\\\\";\n else if (next === \"n\")\n out += \"\\n\";\n else\n return null;\n i += 1;\n }\n return out;\n}\nvar UTF8 = new TextEncoder();\nfunction byBytes(a, b) {\n const x = UTF8.encode(a);\n const y = UTF8.encode(b);\n for (let i = 0; i < x.length && i < y.length; i++) {\n if (x[i] !== y[i])\n return x[i] - y[i];\n }\n return x.length - y.length;\n}\nvar unwritten = (fields2) => fields2[\"form\"] === \"interval\" && fields2[\"value\"] !== void 0 && fields2[\"value\"] !== \"withdraw\" && boundOf(\"interval\", fields2[\"value\"]) === null;\nfunction canonical(fields2, version = \"1\") {\n if (unwritten(fields2))\n throw new Error(`REFUSE\\xB7wire canonical: \\`${fields2[\"value\"]}\\` is no interval the wire writes: two ends, each decimal or *`);\n const keys2 = Object.keys(fields2).sort(byBytes);\n const tokens = keys2.map((k) => `${k}=${escape(fields2[k])}`);\n return [`${PROTOCOL.split(\"/\")[0]}/${version}`, ...tokens].join(\" \");\n}\nvar ABSENT = \"-\";\nfunction parse(text) {\n if (text.includes(\"\\n\")) {\n return refuse2(\"a line is one line \\u2014 a newline in a value must be escaped as `\\\\n`\");\n }\n const space = text.indexOf(\" \");\n const envelope = space === -1 ? text : text.slice(0, space);\n const [name, version] = envelope.split(\"/\");\n if (name !== PROTOCOL.split(\"/\")[0] || !version) {\n return refuse2(`no \\`bound-lock/\\` envelope \\u2014 found \\`${envelope.slice(0, 24)}\\``);\n }\n if (version !== PROTOCOL.split(\"/\")[1]) {\n return abstain(`\\`bound-lock/${version}\\` is a version this reader does not know`);\n }\n const fields2 = {};\n for (const token of tokensOf(space === -1 ? \"\" : text.slice(space + 1))) {\n if (token === null)\n return refuse2(\"a quoted value is not closed\");\n const at = token.indexOf(\"=\");\n if (at <= 0)\n return refuse2(`\\`${token.slice(0, 24)}\\` is not \\`key=value\\``);\n const key = token.slice(0, at);\n if (key in fields2)\n return refuse2(`\\`${key}\\` appears twice \\u2014 one line, one value per key`);\n const value2 = unescape(token.slice(at + 1));\n if (value2 === null)\n return refuse2(`\\`${key}\\` has an escaping this format does not define`);\n if (value2 !== ABSENT)\n fields2[key] = value2;\n }\n if (unwritten(fields2))\n return refuse2(`\\`${fields2[\"value\"]}\\` is no interval the wire reads: two ends, each decimal or *`);\n return fact({ version, fields: fields2 });\n}\nfunction* tokensOf(rest) {\n let at = 0;\n while (at < rest.length) {\n while (rest[at] === \" \")\n at += 1;\n if (at >= rest.length)\n return;\n let end = at;\n let quoted = false;\n while (end < rest.length && (quoted || rest[end] !== \" \")) {\n if (rest[end] === \"\\\\\" && quoted)\n end += 1;\n else if (rest[end] === '\"')\n quoted = !quoted;\n end += 1;\n }\n if (quoted) {\n yield null;\n return;\n }\n yield rest.slice(at, end);\n at = end;\n }\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/capsule/declaration.js\nvar standing = (lines) => lines.flatMap((line) => {\n const got = parse(line);\n return got.kind === \"fact\" && got.value.fields[\"value\"] !== \"withdraw\" ? [got.value.fields] : [];\n});\nfunction handed(reads, lines) {\n return standing(lines).filter((fields2) => reads.some((region) => matches(region, fields2[\"scope\"] ?? \"\")));\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/capsule/shell.js\nfunction shell(regions) {\n return typeof regions === \"string\" ? located(regions) : dispatch(regions, \"renders\");\n}\nvar dispatch = (regions, verb) => (asked) => {\n const one = regions[asked.region];\n if (one === void 0)\n throw new Error(`REFUSE\\xB7region ${asked.region}: no line of this capsule ${verb} it`);\n const short = one.reads.filter((read) => !asked.reads.includes(read));\n if (short.length)\n throw new Error(`REFUSE\\xB7region ${asked.region}: handed less than it declares, without ${short.join(\" \\xB7 \")}`);\n return one.region(asked);\n};\nvar located = (url) => Object.assign(() => {\n throw new Error(`REFUSE\\xB7world ${url}: its host answers it by the regions its own lock names`);\n}, { world: url });\nvar counted = (asked, what, n, measure) => [{ scope: `${asked.region}/${what}`, measure, role: \"reads\", bound: { kind: \"interval\", lo: n, hi: n } }];\nfunction receiptShell(regions) {\n return typeof regions === \"string\" ? located(regions) : dispatch(regions, \"answers\");\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/errors.js\nvar UnitError = class _UnitError extends Error {\n code;\n detail;\n constructor(code, message, detail = {}) {\n super(message);\n this.name = \"UnitError\";\n this.code = code;\n this.detail = Object.freeze({ ...detail });\n Object.setPrototypeOf(this, _UnitError.prototype);\n }\n};\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/order.js\nfunction build(levels, join, meet2) {\n const n = levels.length;\n for (let i = 0; i < n; i++) {\n if (levels.indexOf(levels[i]) !== i) {\n throw new UnitError(\"DUPLICATE_LEVEL\", `the level \\`${levels[i]}\\` is declared twice`, {\n level: levels[i]\n });\n }\n }\n const index = new Map(levels.map((l, i) => [l, i]));\n const leq = (a, b) => join[a][b] === b;\n const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j));\n let simple = true;\n for (let x = 0; x < n && simple; x++) {\n for (let y = 0; y < n && simple; y++) {\n for (let z = 0; z < n; z++) {\n if (meet2[x][join[y][z]] !== join[meet2[x][y]][meet2[x][z]]) {\n simple = false;\n break;\n }\n }\n }\n }\n const all = [...levels.keys()];\n const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0;\n const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1;\n const joinIrr = all.filter((j) => j !== bottomIx && all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j);\n const meetIrr = all.filter((m) => m !== topIx && all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet2[acc][x], topIx) !== m);\n const seen = /* @__PURE__ */ new Set();\n const allDebits = [];\n for (const x of [...joinIrr, ...meetIrr]) {\n if (!seen.has(x)) {\n seen.add(x);\n allDebits.push(x);\n }\n }\n return {\n levels,\n isLadder: total,\n isSimple: simple,\n bottomIx,\n topIx,\n bottom: levels[bottomIx],\n top: levels[topIx],\n leq,\n higher: (a, b) => join[a][b],\n lower: (a, b) => meet2[a][b],\n rank(level) {\n const r = index.get(level);\n if (r === void 0) {\n throw new UnitError(\"UNKNOWN_LEVEL\", `no level \\`${level}\\` in this scale`, {\n level,\n levels\n });\n }\n return r;\n },\n stateOf(floor, ceiling) {\n if (!leq(floor, ceiling))\n return \"CONFLICT\";\n if (floor !== bottomIx)\n return \"REQUIRED\";\n if (ceiling !== topIx)\n return \"FORBIDDEN\";\n return \"FREE\";\n },\n joins: () => joinIrr.slice(),\n limits: () => meetIrr.slice(),\n debits: () => allDebits.slice(),\n intervalHeight(lo, hi) {\n if (!leq(lo, hi))\n return null;\n const inside = all.filter((x) => leq(lo, x) && leq(x, hi));\n const covers = (x) => inside.filter((y) => y !== x && leq(x, y) && !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y)));\n const long = /* @__PURE__ */ new Map([[lo, 0]]);\n const short = /* @__PURE__ */ new Map([[lo, 0]]);\n const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length);\n for (const x of walk) {\n const lx = long.get(x);\n const sx = short.get(x);\n if (lx === void 0 || sx === void 0)\n continue;\n for (const y of covers(x)) {\n long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1));\n short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1));\n }\n }\n const l = long.get(hi);\n return l !== void 0 && l === short.get(hi) ? l : null;\n }\n };\n}\nfunction chain(levels) {\n if (!Array.isArray(levels) || levels.length === 0) {\n throw new UnitError(\"EMPTY_CHAIN\", \"a chain needs at least one level\");\n }\n const n = levels.length;\n const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j)));\n return build(levels, grid(Math.max), grid(Math.min));\n}\nfunction order(levels, leq) {\n if (!Array.isArray(levels) || levels.length === 0) {\n throw new UnitError(\"EMPTY_CHAIN\", \"an order needs at least one level\");\n }\n const n = levels.length;\n const bound = (a, b, up) => {\n const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]);\n const least = bs.filter((x) => bs.every((y) => up ? leq[x][y] : leq[y][x]));\n if (least.length !== 1) {\n throw new UnitError(\"MALFORMED\", `\\`${levels[a]}\\` and \\`${levels[b]}\\` have ${least.length} ${up ? \"lowest common\" : \"highest common\"} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] });\n }\n return least[0];\n };\n const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up)));\n return build(levels, grid(true), grid(false));\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/debit/unit.js\nfunction unit(subject, bounds) {\n return { subject, floor: bounds.floor, ceiling: bounds.ceiling };\n}\nvar permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top });\nfunction state(c, u) {\n return c.stateOf(c.rank(u.floor), c.rank(u.ceiling));\n}\nfunction band(c, units, from, onFloor, onCeiling) {\n let floor = from.floor;\n let ceiling = from.ceiling;\n for (const u of units) {\n floor = onFloor(floor, c.rank(u.floor));\n ceiling = onCeiling(ceiling, c.rank(u.ceiling));\n }\n return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] };\n}\nfunction fuse(c, units) {\n if (units.length === 0)\n return permitAll(c, \"\");\n return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b));\n}\nfunction entails(c, a, b) {\n const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)];\n const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)];\n return c.leq(bf, af) && c.leq(ac, bc);\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/debit/packed.js\nvar WIDTH = 32;\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/debit/masks.js\nfunction chunkCount(n) {\n if (n <= 0)\n return 0;\n return Math.ceil(n / WIDTH);\n}\nvar WideMask = class _WideMask {\n words;\n width;\n constructor(width, words2) {\n this.width = width;\n this.words = words2 ?? new Uint32Array(chunkCount(width));\n }\n static fromTokens(tokens, allowed) {\n const m = new _WideMask(tokens.length);\n tokens.forEach((t, i) => {\n if (allowed.has(t))\n m.set(i);\n });\n return m;\n }\n set(bit) {\n if (bit < 0 || bit >= this.width) {\n throw new UnitError(\"MALFORMED\", `bit ${bit} is outside a mask of width ${this.width}`, {\n bit,\n width: this.width\n });\n }\n this.words[bit >> 5] |= 1 << (bit & 31);\n }\n has(bit) {\n if (bit < 0 || bit >= this.width)\n return false;\n return (this.words[bit >> 5] & 1 << (bit & 31)) !== 0;\n }\n and(other) {\n const w = Math.max(this.width, other.width);\n const out = new _WideMask(w);\n const n = Math.min(this.words.length, other.words.length);\n for (let i = 0; i < n; i++)\n out.words[i] = this.words[i] & other.words[i];\n return out;\n }\n or(other) {\n const w = Math.max(this.width, other.width);\n const out = new _WideMask(w);\n for (let i = 0; i < out.words.length; i++) {\n out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0);\n }\n return out;\n }\n difference(other) {\n const w = Math.max(this.width, other.width);\n const out = new _WideMask(w);\n for (let i = 0; i < out.words.length; i++) {\n out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0);\n }\n const spare = w % 32;\n if (spare !== 0 && out.words.length > 0) {\n out.words[out.words.length - 1] &= (1 << spare) - 1;\n }\n return out;\n }\n subsetOf(other) {\n const n = Math.max(this.words.length, other.words.length);\n for (let i = 0; i < n; i++) {\n const a = this.words[i] ?? 0;\n const b = other.words[i] ?? 0;\n if ((a & ~b) !== 0)\n return false;\n }\n return true;\n }\n size() {\n let n = 0;\n for (let i = 0; i < this.width; i++)\n if (this.has(i))\n n++;\n return n;\n }\n members(tokens) {\n return tokens.filter((_, i) => this.has(i));\n }\n static filled(width) {\n const m = new _WideMask(width);\n if (width <= 0)\n return m;\n m.words.fill(4294967295);\n const spare = width % 32;\n if (spare !== 0)\n m.words[m.words.length - 1] = (1 << spare) - 1;\n return m;\n }\n};\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/scale-lattice.js\nfunction fromScale(c) {\n const inhabited = (x) => state(c, x) !== \"CONFLICT\";\n return {\n top: permitAll(c, \"\"),\n bottom: { subject: \"\", floor: c.levels[c.topIx] ?? \"\", ceiling: c.levels[c.bottomIx] ?? \"\" },\n leq: (a, b) => entails(c, a, b),\n meet: (a, b) => fuse(c, [a, b]),\n join: (a, b) => {\n if (!inhabited(a))\n return b;\n if (!inhabited(b))\n return a;\n return {\n subject: a.subject || b.subject,\n floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor,\n ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling\n };\n },\n show: (x) => `[${x.floor}, ${x.ceiling}]`,\n inhabited\n };\n}\nfunction subsets(tokens) {\n return {\n bottom: new WideMask(tokens.length),\n top: WideMask.filled(tokens.length),\n leq: (a, b) => a.subsetOf(b),\n meet: (a, b) => a.and(b),\n join: (a, b) => a.or(b),\n show: (x) => x.members(tokens).join(\",\"),\n inhabited: (x) => x.size() > 0\n };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/forms.js\nfunction intervals(lo, hi) {\n const low = Math.min(lo, hi);\n const high = Math.max(lo, hi);\n return {\n bottom: { lo: high, hi: low },\n top: { lo: low, hi: high },\n leq(a, b) {\n if (a.lo > a.hi)\n return true;\n if (b.lo > b.hi)\n return false;\n return b.lo <= a.lo && a.hi <= b.hi;\n },\n meet(a, b) {\n return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) };\n },\n join(a, b) {\n if (a.lo > a.hi)\n return b;\n if (b.lo > b.hi)\n return a;\n return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) };\n },\n show(x) {\n return x.lo > x.hi ? \"empty\" : `${x.lo}..${x.hi}`;\n },\n inhabited(x) {\n return x.lo <= x.hi;\n }\n };\n}\nfunction form(f) {\n const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points };\n const lacking = Object.entries(held).find(([, fn]) => typeof fn !== \"function\");\n if (lacking)\n throw new Error(`form \\`${f.id}\\` declared no ${lacking[0]}`);\n return f;\n}\nvar rec = (x) => x !== null && typeof x === \"object\" ? x : {};\nfunction strings(x) {\n return Array.isArray(x) ? x.map(String) : [];\n}\nvar drawn = (seed) => {\n let s = seed >>> 0;\n return () => {\n s = s + 1831565813 >>> 0;\n let t = Math.imul(s ^ s >>> 15, s | 1);\n t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n return ((t ^ t >>> 14) >>> 0) / 4294967296;\n };\n};\nvar picked = (draw, xs) => xs[Math.floor(draw() * xs.length)];\nfunction bandCount(levels, folded) {\n if (levels.length === 0)\n return { kind: \"refused\", why: \"a ladder with no levels cannot be counted\" };\n const c = chain(levels);\n const f = c.rank(folded.floor);\n const cl = c.rank(folded.ceiling);\n if (!c.leq(f, cl))\n return { kind: \"finite\", n: 0 };\n const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length;\n return { kind: \"finite\", n };\n}\nvar BAND = {\n parse(params, demand) {\n const L = this.lattice(params);\n const d = rec(demand);\n return {\n subject: String(d.subject ?? \"\"),\n floor: String(d.floor ?? L.top.floor),\n ceiling: String(d.ceiling ?? L.top.ceiling)\n };\n },\n emit(_params, value2) {\n return { subject: value2.subject, floor: value2.floor, ceiling: value2.ceiling };\n },\n count(folded, params) {\n return bandCount(strings(rec(params).levels), folded);\n },\n points(params, seed, n) {\n const L = this.lattice(params);\n const levels = strings(rec(params).levels);\n const draw = drawn(seed);\n const band2 = (floor, ceiling) => ({ subject: \"\", floor, ceiling });\n return Array.from({ length: n }, () => {\n const [a, b] = [picked(draw, levels), picked(draw, levels)];\n return [band2(a, b), band2(b, a)].find((x) => L.inhabited(x)) ?? band2(a, a);\n });\n }\n};\nvar ladderForm = form({\n id: \"ladder\",\n lattice(params) {\n const levels = strings(rec(params).levels);\n if (levels.length === 0)\n throw new Error(\"ladder needs levels\");\n return fromScale(chain(levels));\n },\n ...BAND,\n show(value2) {\n return value2.floor === value2.ceiling ? value2.floor : `${value2.floor}..${value2.ceiling}`;\n }\n});\nvar alphabetForm = form({\n id: \"alphabet\",\n lattice(params) {\n return subsets(strings(rec(params).tokens));\n },\n parse(params, demand) {\n const tokens = strings(rec(params).tokens);\n const d = rec(demand);\n const want = d.want !== void 0 ? strings(d.want) : tokens;\n return WideMask.fromTokens(tokens, new Set(want));\n },\n emit(params, value2) {\n return { want: value2.members(strings(rec(params).tokens)) };\n },\n count(folded) {\n return { kind: \"finite\", n: folded.size() };\n },\n show(value2) {\n return `${value2.size()}`;\n },\n points(params, seed, n) {\n const tokens = strings(rec(params).tokens);\n const draw = drawn(seed);\n return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5))));\n }\n});\nvar continuousForm = form({\n id: \"continuous\",\n lattice(params) {\n const p = rec(params);\n return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1));\n },\n parse(params, demand) {\n const L = this.lattice(params);\n const d = rec(demand);\n return {\n lo: d.lo === void 0 ? L.top.lo : Number(d.lo),\n hi: d.hi === void 0 ? L.top.hi : Number(d.hi)\n };\n },\n emit(_params, value2) {\n return { lo: value2.lo, hi: value2.hi };\n },\n count() {\n return { kind: \"refused\", why: \"a continuous band has no count; prefer not to exist over inventing one\" };\n },\n show(value2) {\n return value2.lo > value2.hi ? \"empty\" : `${value2.lo}..${value2.hi}`;\n },\n points(params, seed, n) {\n const p = rec(params);\n const lo = Number(p.lo ?? 0);\n const hi = Number(p.hi ?? 1);\n const draw = drawn(seed);\n const at = () => lo + Math.round(draw() * (hi - lo));\n return Array.from({ length: n }, () => ({ lo: at(), hi: at() }));\n }\n});\nvar latticeForm = form({\n id: \"lattice\",\n lattice(params) {\n const p = rec(params);\n const levels = strings(p.levels);\n const leq = p.leq;\n if (levels.length && leq)\n return fromScale(order(levels, leq));\n throw new Error(\"lattice needs levels+leq\");\n },\n ...BAND,\n show(value2) {\n return `${value2.floor}..${value2.ceiling}`;\n }\n});\nvar FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm];\nvar FORMS = [...FORM_IMPLEMENTATIONS];\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/field.js\nfunction coordinate(name, steps2 = \"/\") {\n const at = name.split(new RegExp(`[${steps2.replace(/[.*+?^${}()|[\\]\\\\-]/g, \"\\\\$&\")}]`)).filter((s) => s !== \"\");\n while (at[at.length - 1] === \"*\" || at[at.length - 1] === \"**\")\n at.pop();\n return at;\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/obligatory.js\nfunction cell(at, epoch = 0, seen = [], restsOn2 = []) {\n return { at: coordinate(at), epoch, seen, restsOn: restsOn2 };\n}\nfunction live(lines) {\n const taken = new Set(lines.flatMap((line) => line.takes === void 0 ? [] : [line.takes]));\n return lines.filter((line) => line.takes === void 0 && (line.id === void 0 || !taken.has(line.id)));\n}\nfunction restOf(c, world = /* @__PURE__ */ new Map()) {\n const own = c.at.join(\"/\");\n const out = [];\n const held = /* @__PURE__ */ new Set();\n const edge = [...c.restsOn];\n for (let i = 0; i < edge.length; i += 1) {\n const name = edge[i];\n if (name === own)\n throw new UnitError(\"rest-cycle\", `obligations: REFUSE\\xB7rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own });\n if (held.has(name))\n continue;\n held.add(name);\n out.push(name);\n edge.push(...world.get(name)?.restsOn ?? []);\n }\n return out;\n}\nfunction parts(L, c, world = /* @__PURE__ */ new Map()) {\n const rest = restOf(c, world);\n const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === \"travels\" && one.widens === void 0));\n const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0));\n let required = L.top;\n let signed = L.top;\n for (const one of marks) {\n if (one.pole === \"floor\")\n required = L.meet(required, one.span);\n else\n signed = one.widens === void 0 ? L.meet(signed, one.span) : L.join(signed, one.span);\n }\n const origins2 = live(c.seen);\n const held = origins2.reduce((acc, claim) => L.meet(acc, claim.span), L.top);\n return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins: origins2, rest, required, signed };\n}\nfunction state2(L, c, world = /* @__PURE__ */ new Map()) {\n const { floor, ceiling, origins: origins2, required, signed } = parts(L, c, world);\n if (!L.inhabited(L.meet(required, signed)))\n return \"CONFLICT\";\n if (new Set(origins2.map((claim) => claim.origin)).size < 2)\n return \"REQUIRED\";\n if (!L.inhabited(origins2.reduce((acc, claim) => L.meet(acc, claim.span), L.top)))\n return \"CONFLICT\";\n return L.inhabited(L.meet(floor, ceiling)) ? \"FREE\" : \"FORBIDDEN\";\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/meet.js\nfunction meet(L, c, world = /* @__PURE__ */ new Map()) {\n const { floor, ceiling } = parts(L, c, world);\n return L.meet(floor, ceiling);\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/encounter.js\nfunction encounter(L, c, world = /* @__PURE__ */ new Map()) {\n return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/sig.js\nfunction parseSignature(value2) {\n const colon = value2.lastIndexOf(\":\");\n if (colon <= 0 || colon === value2.length - 1)\n return null;\n return { algorithm: value2.slice(0, colon), raw: value2.slice(colon + 1) };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/claimline.js\nvar WITHDRAW = \"withdraw\";\nfunction admittedDigest(value2, wire) {\n const colon = value2.indexOf(\":\");\n return colon > 0 && wire.digests.has(value2.slice(0, colon)) && /^[0-9a-f]+$/i.test(value2.slice(colon + 1));\n}\nfunction isRegion(need) {\n if (need.startsWith(\"/\") || /[\\s\\\\]/.test(need))\n return false;\n const steps2 = need.split(\"/\").filter((step) => step !== \"\");\n return steps2.length > 0 && steps2.every((step, i) => step !== \".\" && step !== \"..\" && (!step.includes(\"*\") || i === steps2.length - 1));\n}\nvar FIELD_FORMS = {\n region: (value2) => value2.split(\"|\").filter(Boolean).every(isRegion),\n class: (value2, wire) => {\n const colon = value2.indexOf(\":\");\n if (colon <= 0 || !wire.classes.has(value2.slice(0, colon)))\n return false;\n const rest = value2.slice(colon + 1);\n return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire);\n },\n signature: (value2, wire) => {\n const got = parseSignature(value2);\n if (got === null || !wire.signatures.has(got.algorithm))\n return false;\n const era = got.algorithm.slice(got.algorithm.lastIndexOf(\":\") + 1);\n return admittedDigest(got.algorithm, wire) || got.algorithm.includes(\":\") && (wire.lists.get(\"era\")?.has(era) ?? false);\n },\n count: (value2) => /^\\d+$/.test(value2)\n};\nfunction debit(field, why) {\n return refuse2(why, field);\n}\nfunction fromLine(text, wire, grammars) {\n const line = parse(text);\n if (line.kind !== \"fact\") {\n return line.kind === \"abstain\" ? abstain(line.why) : refuse2(line.why, line.named);\n }\n const f = line.value.fields;\n if (wire) {\n for (const k of Object.keys(f))\n if (!wire.fields.has(k))\n return debit(k, `\\`${k}=\\` is not a field of the wire at epoch ${wire.epoch}`);\n for (const k of wire.required)\n if (f[k] === void 0)\n return debit(k, `a claim with no \\`${k}\\``);\n for (const [k, form2] of wire.formOf) {\n const v = f[k];\n if (v === void 0)\n continue;\n const ids = wire.lists.get(form2);\n const reads = FIELD_FORMS[form2] ?? (ids ? (value2) => ids.has(value2) : void 0);\n if (!reads)\n return abstain(`\\`${k}\\` takes the form ${form2}, which this reader does not know`);\n if (!reads(v, wire))\n return debit(k, `\\`${k}=${v}\\` is not a ${form2} of the wire at epoch ${wire.epoch}`);\n }\n if (f.role !== void 0 && !wire.roles.has(f.role))\n return abstain(`\\`role=${f.role}\\` is a role this wire does not name`);\n if (!wire.forms.has(f.form ?? \"\"))\n return abstain(`\\`form=${f.form}\\` is a form this wire does not name`);\n }\n const listed2 = Array.isArray(grammars) ? grammars : void 0;\n const bound = f.value === WITHDRAW ? { kind: \"enumerated\", values: [WITHDRAW] } : boundOf(f.form ?? \"\", f.value ?? \"\", listed2);\n if (bound === null) {\n const mine = BOUND_FORMS.includes(f.form ?? \"\") || (listed2?.some((g) => g.form === f.form) ?? false);\n return mine ? debit(\"value\", `\\`${f.value}\\` is not a ${f.form}`) : abstain(`\\`form=${f.form}\\` is a form this reader does not know`);\n }\n const role = f.role === \"writes\" ? \"writes\" : f.role === \"demands\" ? \"demands\" : \"reads\";\n const extra = {};\n for (const [k, v] of Object.entries(f)) {\n if ([\"scope\", \"measure\", \"form\", \"value\", \"by\", \"at\", \"role\", \"unit\", \"multiplicity\", \"epoch\", \"ref\", \"to\", \"ref_by\"].includes(k))\n continue;\n extra[k] = v;\n }\n const rel = f.ref;\n const to = f.to === void 0 ? null : unpipe(f.to);\n const reference = rel && to && REF_RELATIONS.includes(rel) ? { rel, to, by: f.ref_by === \"declared\" ? \"declared\" : \"inferred\" } : null;\n return fact({\n scope: f.scope ?? \"\",\n measure: f.measure ?? \"\",\n bound,\n role,\n by: f.by ?? \"\",\n at: f.at ?? \"\",\n ...f.unit !== void 0 ? { unit: f.unit } : {},\n ...f.multiplicity === \"one\" || f.multiplicity === \"many\" || f.multiplicity === \"unknown\" ? { multiplicity: f.multiplicity } : {},\n ...f.epoch !== void 0 ? { epoch: f.epoch } : {},\n ...reference ? { reference } : {},\n extra\n });\n}\nvar EPOCHS = intervals(-Infinity, Infinity);\nvar QUORUMS = intervals(1, Infinity);\n\n// ../provider-closure/world/dist/helpers/asked.js\nvar pairs = (asked, scope) => fields(value(asked, scope) ?? \"\");\nvar receiptLine = (asked, region, scope, place, measure) => receipts(asked, region).find((line) => of(line, \"scope\") === scope && (place === void 0 || placeOf(line) === place) && (measure === void 0 || of(line, \"measure\") === measure));\nvar receiptValue = (asked, region, scope, place, measure) => ((line) => line === void 0 ? void 0 : of(line, \"value\"))(receiptLine(asked, region, scope, place, measure));\nvar numeral = (said) => {\n const read = (value2) => {\n try {\n const got = fromLine(canonical({ at: \"place:numeral\", by: \"reader\", form: \"interval\", measure: \"count\", role: \"reads\", scope: \"numeral\", value: value2 }), null);\n return got.kind === \"fact\" && got.value.bound.kind === \"interval\" ? got.value.bound.lo ?? void 0 : void 0;\n } catch {\n return void 0;\n }\n };\n return said === void 0 ? NaN : read(said) ?? read(`${said}..${said}`) ?? NaN;\n};\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/observe.js\nfunction observe(c, claim, s = claim.takes === void 0 ? 1 : -1) {\n const takes = s === 1 ? void 0 : claim.takes ?? claim.id;\n if (s === 1 && claim.takes !== void 0)\n throw new UnitError(\"sign-mismatch\", \"obligations: REFUSE\\xB7observe a claim that takes another back is observed at \\u22121, never at +1\");\n if (s === -1 && takes === void 0)\n throw new UnitError(\"withdrawal-unnamed\", \"obligations: REFUSE\\xB7observe a withdrawal names the claim it takes back, never a value that looks like it\");\n const line = takes === void 0 ? claim : { origin: claim.origin, span: claim.span, sign: -1, takes, ...claim.at === void 0 ? {} : { at: claim.at } };\n return { ...c, epoch: Math.max(c.epoch, claim.at ?? c.epoch), seen: [...c.seen, line] };\n}\n\n// ../provider-closure/world/dist/helpers/language.js\nvar rule = (asked, name) => listed(asked, `form/prose/${lang(asked)}/${name}`);\nvar upper = (text) => `${text.charAt(0).toUpperCase()}${text.slice(1)}`;\nvar words = (asked, slug) => rule(asked, \"words\").includes(\"spaces\") ? slug.split(\"-\").join(\" \") : slug;\nvar heading = (asked, slug) => rule(asked, \"heading\").includes(\"capital\") ? upper(words(asked, slug)) : words(asked, slug);\nvar count = (asked, n, first = false) => {\n const word = rule(asked, \"numbers\")[n] ?? String(n);\n return first && rule(asked, \"sentence\").includes(\"capital\") ? upper(word) : word;\n};\nvar listOf = (asked, items) => {\n const [comma = \", \", and = \" and \"] = rule(asked, \"list\");\n return items.length > 1 ? `${items.slice(0, -1).join(comma)}${and}${items[items.length - 1]}` : items.join(\"\");\n};\nvar stated = (asked, state3) => rule(asked, `state/${state3}`)[0] ?? \"\";\nvar prose = (asked, key) => ((line) => line === void 0 ? void 0 : of(line, \"about\"))(found(asked, `prose/${lang(asked)}/${key}`) ?? found(asked, `form/prose/${lang(asked)}/page/${key}`));\nvar fill = (asked, key, text, fields2 = {}) => listed(asked, `form/template/${key}`).reduce((said, field) => said.split(`{${field}}`).join(String(fields2[field] ?? \"\")), text);\nvar say = (asked, key, fields2 = {}) => fill(asked, key, prose(asked, key) ?? \"\", fields2);\nvar sentence = (asked, text) => {\n const said = rule(asked, \"sentence\");\n let end = text.length;\n while (end > 0 && \".;:, \\n\".includes(text.charAt(end - 1)))\n end -= 1;\n const start = said.includes(\"capital\") ? `${text.charAt(0).toUpperCase()}${text.slice(1, end)}` : text.slice(0, end);\n return said.includes(\"period\") ? `${start}.` : start;\n};\nvar parted = (asked, key) => ((said) => said === void 0 ? [] : [said.trim()])(prose(asked, key));\nvar section = (asked, key) => ((said) => said ? [`## ${said}`, \"\"] : [])(prose(asked, `${key}/heading`));\nvar titled = (asked, key, parts2) => parts2.length ? [...section(asked, key), ...parts2.flatMap((part) => [part, \"\"])].slice(0, -1) : [];\n\n// ../provider-closure/world/dist/helpers/laws.js\nvar laws = (asked) => regionLines(asked, \"laws\");\nvar offers = (asked) => regionLines(asked, \"offers\");\nvar lawId = (law) => placeOf(law);\nvar lawKey = (law) => of(law, \"scope\").slice(lawId(law).lastIndexOf(\"/\") + 1);\nvar lawName = (asked, law) => words(asked, of(law, \"scope\").slice(lawId(law).length + 1));\nvar lawAt = (asked, scope) => laws(asked).find((one) => of(one, \"scope\") === scope);\nvar keys = (asked, rested) => alphabet(rested).members.map((scope) => ((law) => law === void 0 ? scope : lawKey(law))(lawAt(asked, scope))).join(\", \");\nvar object = (asked) => lawAt(asked, value(asked, \"notation/object\") ?? \"\");\nvar resting = (asked, scope) => offers(asked).filter((line) => alphabet(of(line, \"restsOn\")).members.includes(scope));\nvar moduleOf = (asked, offer) => alphabet(of(offer, \"needs\")).members.find((need) => receiptValue(asked, \"source\", \"source/carries\", need) !== void 0 || receipts(asked, \"source\").some((one) => placeOf(one) === need));\nvar sample = (asked, law, side) => {\n const family = value(asked, `samples/${side}`);\n const at = family === void 0 ? void 0 : alphabet(of(law, \"needs\")).members.find((need) => need.startsWith(`${family.replace(/\\/$/, \"\")}/`));\n const said = (field) => at === void 0 ? void 0 : receiptValue(asked, \"laws\", `said/${field}`, at);\n return { recorded: at !== void 0 && receipts(asked, \"laws\").some((line) => placeOf(line) === at && of(line, \"scope\").startsWith(\"said/\")), at, about: said(\"about\")?.split(\"\\n\"), title: said(\"title\"), brief: said(\"brief\") };\n};\nvar conjectured = (asked, law) => ((yes, no) => say(asked, \"open/conjecture\", {\n title: yes.title ?? sentence(asked, lawName(asked, law)).slice(0, -1),\n brief: yes.brief ?? of(law, \"about\"),\n breaks: no.brief ?? (no.about ?? [])[0] ?? \"\"\n}))(sample(asked, law, \"yes\"), sample(asked, law, \"no\"));\n\n// ../provider-closure/world/dist/helpers/look.js\nvar stands = (said) => Object.entries(said).filter((pair) => Boolean(pair[1]));\nvar look = (asked, key) => value(asked, `form/style/${key}`);\nvar spacing = (asked, figure) => Object.fromEntries(asked.lines.filter((line) => of(line, \"scope\").startsWith(`form/style/${figure}/`)).map((line) => [of(line, \"scope\").slice(`form/style/${figure}/`.length), numeral(of(line, \"value\"))]));\nvar attrs = (said) => stands(said).map(([k, v]) => ` ${k}=\"${escaped(v)}\"`).join(\"\");\nvar css = (rules2) => rules2.map(([at, said]) => [at, stands(said).map(([k, v]) => `${k}:${v}`).join(\";\")]).filter(([, body]) => body).map(([at, body]) => `${at}{${body}}`).join(\"\");\nvar between = (v, [a, b], [c, d]) => c + (v - a) / (b - a) * (d - c);\nvar px = (n) => Number.isFinite(n) ? String(numeral(n.toFixed(1))) : void 0;\nvar secs = (n) => Number.isFinite(n) ? `${n.toFixed(1)}s` : void 0;\nvar font = (asked, family, size) => ((face, at) => face && at ? { font: `${at} ${face}` } : { \"font-family\": face, \"font-size\": at })(look(asked, `font/${family}`), look(asked, `size/${size}`));\nvar style = (light, night) => ((lit) => lit.length || night ? [\"\"] : [])(light.filter(Boolean));\nvar classDef = (name, fill2, text) => ((said) => said ? [` classDef ${name} ${said}`] : [])([fill2 && `fill:${fill2}`, text && `color:${text}`, fill2 && `stroke:${fill2}`].filter(Boolean).join(\",\"));\n\n// ../provider-closure/world/dist/helpers/prose.js\nvar zoom = (summary, lines) => lines.length ? [`
${summary}`, \"\", ...lines, \"\", \"
\"] : [];\nvar inCell = /* @__PURE__ */ new Map([[\"|\", \"\\\\|\"]]);\nvar cellText = (text) => [...text].map((one) => inCell.get(one) ?? one).join(\"\").split(\"\\n\").join(\" \").split(\" \").filter(Boolean).join(\" \");\nvar escaped = (text) => text.split(\"&\").join(\"&\").split(\"<\").join(\"<\").split(\">\").join(\">\").split('\"').join(\""\");\nvar folder = (at) => steps(steps(at).slice(0, -1));\nvar reaches = (asked, key) => asked.at >= numeral(value(asked, `form/page/${key}`));\nvar stem = (at) => {\n const name = at.slice(at.lastIndexOf(\"/\") + 1);\n return name.includes(\".\") ? name.slice(0, name.lastIndexOf(\".\")) : name;\n};\nvar relative = (from, to) => {\n const [a, b] = [steps(from).filter(Boolean), steps(to).filter(Boolean)];\n const differ = a.findIndex((step, i) => step !== b[i]);\n const shared = differ < 0 ? a.length : differ;\n return steps([...a.slice(shared).map(() => \"..\"), ...b.slice(shared)]);\n};\nvar painted = (asked, name) => ({ name, colour: look(asked, `colour/${name}`), glyph: look(asked, `glyph/${name}`) });\nvar glyph = (asked, name) => pairs(asked, \"notation/glue\").find(([one]) => one === name)?.[1] ?? \"\";\nvar states = (asked) => pairs(asked, \"notation/renders\").map(([state3, name]) => ({ ...painted(asked, state3), name }));\nvar rendered = (asked, state3) => ({ ...painted(asked, state3), name: pairs(asked, \"notation/renders\").find(([one]) => one === state3)?.[1] ?? state3 });\nvar resolved = (asked, body) => {\n if (reaches(asked, \"statement\") || !body.length)\n return body;\n const head = body.findIndex((line) => line.startsWith(\"```\"));\n if (head < 0)\n return asked.at > 1 ? body : ((lead) => lead < 0 ? body : body.slice(0, lead))(body.findIndex((line, i) => i > 1 && line === \"\" && body[i - 1] !== \"\"));\n const lines = body.slice(head + 1, body.lastIndexOf(\"```\"));\n if (asked.at <= 1)\n return [...body.slice(0, head + 1), ...lines.slice(0, 1), \"```\"];\n const [cut] = rule(asked, \"separator\");\n if (cut === void 0)\n throw new Error(`REFUSE\\xB7resolution ${asked.region}@${asked.at}: form/prose/${lang(asked)}/separator names no separator to cut its steps at`);\n return [...body.slice(0, head + 1), ...lines.map((line) => line.split(cut).slice(0, asked.at).join(cut)), \"```\"];\n};\n\n// ../provider-closure/world/dist/helpers/cells.js\nvar SPANS = intervals(-Infinity, Infinity);\nvar hull = (ns) => ns.reduce((all, n) => SPANS.join(all, { lo: n, hi: n }), SPANS.bottom);\nvar apartOf = (met, at) => ((left) => left.length === 1 ? left[0] : void 0)(met.seen.flatMap((one) => ((rest) => rest.origins > 1 && SPANS.inhabited(rest.held) ? [{ who: one.origin, held: rest.held, count: rest.origins }] : [])(encounter(SPANS, met.seen.filter((other) => other !== one).reduce((held, claim) => observe(held, claim), cell(at))))));\nfunction cellOf(asked, at) {\n const shape = new Map(pairs(asked, \"notation/claim\"));\n const role = (name) => shape.get(name) ?? \"\";\n const fielded = receipts(asked, \"source\").filter((one) => placeOf(one) === at && of(one, \"scope\").startsWith(\"source/literal/\")).map((one) => new Map(fields(of(one, \"value\"))));\n const met = fielded.filter((one) => [\"who\", \"lo\", \"hi\"].every((name) => one.has(role(name))) && !one.has(role(\"without\"))).reduce((held, one) => observe(held, { origin: one.get(role(\"who\")) ?? \"\", span: { lo: numeral(one.get(role(\"lo\"))), hi: numeral(one.get(role(\"hi\"))) } }), cell(at));\n return built(met, at);\n}\nvar cellOfLines = (lines) => ((at) => built(lines.reduce((held, line) => ((got) => got.kind === \"fact\" && got.value.bound.kind === \"interval\" && got.value.bound.lo !== null && got.value.bound.hi !== null ? observe(held, { origin: of(line, \"by\"), span: { lo: got.value.bound.lo, hi: got.value.bound.hi } }) : held)(fromLine(canonical(line), null)), cell(at)), at))(of(lines[0], \"scope\"));\nvar built = (met, at) => {\n const { origins: origins2, held } = encounter(SPANS, met);\n const rest = SPANS.inhabited(held) ? void 0 : apartOf(met, at);\n return origins2 > 1 ? { claims: met.seen, held, hull: met.seen.reduce((all, one) => SPANS.join(all, one.span), SPANS.bottom), state: state2(SPANS, met), ...rest === void 0 ? {} : { rest } } : void 0;\n};\nvar captioned = (asked, met) => (met.rest !== void 0 ? say(asked, \"cell/outlier\", { count: count(asked, met.rest.count), ...met.rest.held, who: met.rest.who, state: met.state.toLowerCase() }) : SPANS.inhabited(met.held) ? say(asked, \"cell/together\", { count: count(asked, met.claims.length), ...met.held, state: met.state.toLowerCase() }) : \"\") || stated(asked, met.state);\nvar described = (asked, met) => say(asked, \"cell/origins\", {\n count: count(asked, met.claims.length, true),\n claims: listOf(asked, met.claims.map((one) => say(asked, \"cell/claim\", { who: one.origin, ...one.span }))),\n held: SPANS.inhabited(met.held) ? say(asked, \"cell/held\", { ...met.held }) : prose(asked, \"apart\") ?? \"\"\n});\nvar image = (asked, at, met) => `\"${escaped(described(asked,

`;\nvar labelOf = (asked, scope) => ((law) => law === void 0 ? scope : lawName(asked, law))(lawAt(asked, scope));\n\n// ../provider-closure/world/dist/helpers/examples.js\nvar examples = (asked, at = \"\") => {\n const got = receipts(asked, \"examples\").filter((line) => placeOf(line) === at && matches(\"examples/*\", of(line, \"scope\")));\n return [...new Set(got.map((line) => of(line, \"scope\")))].map((scope) => {\n const read = (measure) => got.find((one) => of(one, \"scope\") === scope && of(one, \"measure\") === measure);\n const origins2 = [found(asked, scope), read(\"id\")].filter((line) => of(line, \"value\") !== \"\");\n const tokens = [...new Set(origins2.map((line) => of(line, \"value\")))];\n const met = origins2.reduce((at2, line) => observe(at2, { origin: of(line, \"by\"), span: WideMask.fromTokens(tokens, /* @__PURE__ */ new Set([of(line, \"value\")])) }), cell(scope));\n return { name: steps(scope)[1] ?? \"\", source: of(read(\"source\"), \"value\"), printed: of(read(\"printed\"), \"value\"), at: of(read(\"at\") ?? read(\"leaf\"), \"value\"), state: state2(alphabetForm.lattice({ tokens }), met) };\n });\n};\nvar shortest = (asked, at = \"\") => [...examples(asked, at)].sort((a, b) => a.source.split(\"\\n\").length - b.source.split(\"\\n\").length || byBytes(a.name, b.name))[0];\nvar fence = (asked, one) => receiptValue(asked, \"source\", \"source/lang\", one.at) ?? \"\";\nvar run = (asked, one) => [`\\`\\`\\`${fence(asked, one)}`, ...one.source.trim().split(\"\\n\"), \"```\", \"\", \"```\", ...one.printed.split(\"\\n\"), \"```\"];\nvar glance = (asked, one, here) => {\n const printed = one.printed.split(\"\\n\");\n const depth = (line) => line.length - line.trimStart().length;\n const next = (i) => printed.slice(i + 1).find((line) => line.trim()) ?? \"\";\n const runner = asked.lines.find((line) => matches(\"form/runtime/*/run\", of(line, \"scope\")));\n const command = runner === void 0 ? \"\" : fill(asked, steps(of(runner, \"scope\")).slice(1).join(\"/\"), of(runner, \"value\"), { at: one.at });\n const [at, most] = [((learn) => learn === void 0 ? asked.at : numeral(learn))(value(asked, \"form/page/learn\")), numeral(value(asked, \"form/page/example\"))];\n const outline = printed.filter((line, i) => line.trim() && !depth(line) && !depth(next(i)));\n const [ran, fenced] = [command ? [\"```bash\", command, \"```\"] : [], (body) => [\"```\", ...body, \"```\"]];\n const shown = at > 1 ? printed : Number.isFinite(most) ? outline.slice(0, hull([0, most - ran.length - fenced([]).length]).hi) : outline;\n const part = (key, body) => body.length ? [.../* @__PURE__ */ ((said) => said ? [said, \"\"] : [])(prose(asked, `figure/learn/${key}`)), ...body] : [];\n const blocks = [part(\"run\", ran), part(\"printed\", fenced(shown)), /* @__PURE__ */ ((link) => link ? [link] : [])(say(asked, \"figure/learn/source\", { at: relative(here, one.at) }))];\n return blocks.filter((block) => block.length).flatMap((block, i) => i ? [\"\", ...block] : block);\n};\n\n// ../provider-closure/world/dist/helpers/figures.js\nvar figured = (asked, region, at) => asked.lines.filter((line) => of(line, \"scope\").startsWith(\"view/\") && ((members) => members.length === 1 && members.some((token) => ((read) => read.name === region && read.at === at)(atResolution(token))))(alphabet(of(line, \"value\")).members));\nvar figureAt = (line) => of(line, \"shape\") || void 0;\nvar drawn2 = (asked, drawing, alt, key = \"\", beneath = []) => ((at) => !drawing.length || at === void 0 ? [] : asked.shape === at ? drawing : [\n ...key ? section(asked, key) : [],\n `\"${escaped(alt)}\"${attrs({

`,\n ...beneath.length ? [\"\", ...beneath] : []\n])(figured(asked, asked.region, 1).map(figureAt).find(Boolean));\n\n// ../provider-closure/world/dist/helpers/refused.js\nvar tail = (scope) => (([n = \"\", word = \"\", ...file]) => ({ n, word, file: steps(file.reverse()) }))([...steps(scope)].reverse());\nvar refusedCases = (asked) => {\n const step = \"refused\";\n const said = [...receipts(asked, \"vectors\"), ...receipts(asked, \"captures\")].filter((line) => tail(of(line, \"scope\")).word === step);\n const where = (scope) => placeOf(said.find((line) => of(line, \"scope\") === scope) ?? {});\n const scopes = [...new Set(said.filter((line) => of(line, \"measure\") === \"why\").map((line) => of(line, \"scope\")))].sort((a, b) => byBytes(tail(a).file, tail(b).file) || numeral(tail(a).n) - numeral(tail(b).n));\n const read = (first, measure) => of(said.find((line) => of(line, \"scope\") === first && of(line, \"measure\") === measure), \"value\");\n return scopes.map((first) => ({ input: read(first, \"input\"), why: read(first, \"why\"), at: where(first), name: read(first, \"name\") || tail(first).file }));\n};\nvar refusedCase = (asked) => refusedCases(asked)[0];\n\n// ../provider-closure/world/dist/helpers/samples.js\nvar sampled = (asked, prefer = \"\") => {\n const family = value(asked, \"samples/yes\");\n const said = receipts(asked, \"laws\").filter((line) => of(line, \"scope\") === \"said/lines\");\n const eligible = prefer ? said.filter((line) => placeOf(line) === prefer) : family === void 0 ? [] : said.filter((line) => placeOf(line).startsWith(`${family.replace(/\\/$/, \"\")}/`));\n const [one] = [...eligible].sort((a, b) => byBytes(placeOf(a), placeOf(b)));\n return one === void 0 ? void 0 : { at: placeOf(one), lines: handed([\"**\"], of(one, \"value\").split(\"\\n\")) };\n};\nvar declaredSample = (asked, view) => {\n const needs = alphabet(of(view, \"needs\")).members;\n if (needs.length)\n return needs.flatMap((need) => sampled(asked, need)?.lines ?? []);\n return sampled(asked)?.lines ?? [];\n};\n\n// ../provider-closure/world/dist/helpers/notation.js\nvar symbolOf = (asked, type, name) => type.endsWith(\"[]\") ? `[${symbolOf(asked, type.slice(0, -\"[]\".length), name)}]` : listed(asked, \"notation/named\").includes(type) ? name : new Map(pairs(asked, \"notation/types\")).get(type) ?? type;\nfunction formulas(asked) {\n const pending = laws(asked).filter((line) => of(line, \"form\") === \"formula\");\n const parent = (formula) => of(formula, \"scope\").slice(0, of(formula, \"scope\").lastIndexOf(\"/\"));\n const out = [];\n while (pending.length) {\n const waits = (formula) => alphabet(of(lawAt(asked, parent(formula)), \"restsOn\")).members.some((on) => pending.some((other) => other !== formula && parent(other) === on));\n const next = pending.findIndex((formula) => !waits(formula));\n out.push(...pending.splice(next < 0 ? 0 : next, 1));\n }\n return out;\n}\nvar moduleOfObject = (asked, held) => resting(asked, of(held, \"scope\")).map((offer) => moduleOf(asked, offer)).find(Boolean);\nvar tuple = (asked) => {\n const held = object(asked);\n if (held === void 0 || !pairs(asked, \"notation/cell\").length)\n return void 0;\n const module = moduleOfObject(asked, held);\n const carries = new Set(alphabet(module === void 0 ? \"\" : receiptValue(asked, \"source\", \"source/carries\", module) ?? \"\").members);\n const [symbols, gloss] = [new Map(pairs(asked, \"notation/symbols\")), listed(asked, \"notation/gloss\")];\n const members = pairs(asked, \"notation/cell\");\n const shown = (carries.size ? members.filter(([member]) => carries.has(member)) : members).map(([, sym]) => sym);\n if (!shown.length)\n return void 0;\n return `${symbols.get(\"object\")} = ${glyph(asked, \"open\")}${shown.join(\", \")}${glyph(asked, \"close\")}${gloss.length ? ` ${gloss.join(\" \")}` : \"\"}`;\n};\nvar aligned = (asked) => {\n const held = object(asked);\n const chosen = listed(asked, \"notation/formulas\");\n const own = (chosen.length ? chosen : [...alphabet(of(held, \"restsOn\")).members, of(held, \"scope\")]).flatMap((scope) => formulas(asked).filter((line) => of(line, \"scope\").startsWith(`${scope}/`))).map((line) => of(line, \"value\"));\n const cut = (text) => hull([\"=\", glyph(asked, \"iff\"), glyph(asked, \"member\")].map((mark2) => text.indexOf(` ${mark2} `)).concat(text.indexOf(\": \")).filter((i) => i > 0)).lo;\n const side = hull(own.map((text) => text.slice(0, cut(text)).length)).hi;\n return own.map((text) => `${text.slice(0, cut(text)).padEnd(side)} ${text.slice(cut(text)).trimStart()}`);\n};\nvar moves = (asked) => {\n const [renders, at] = [pairs(asked, \"notation/renders\"), value(asked, \"notation/moves\") ?? \"\"];\n const split = (edge) => [edge.slice(0, edge.indexOf(\"\\u2192\")), edge.slice(edge.indexOf(\"\\u2192\") + 1)];\n const edges = alphabet(receiptValue(asked, \"laws\", \"said/moves\", at) ?? \"\").members.map(split);\n const known = (state3) => renders.some(([one]) => one === state3);\n const said = receipts(asked, \"laws\").filter((one) => placeOf(one) === at);\n const dangerous = alphabet(of(said.find((one) => of(one, \"scope\").endsWith(\"/dangerous\")), \"value\")).members.map(split);\n const moved = (one) => split(of(one, \"scope\").slice(of(one, \"scope\").lastIndexOf(\"/why/\") + \"/why/\".length));\n const whyOf = ([from, to]) => of(said.find((one) => of(one, \"scope\").includes(\"/why/\") && moved(one)[0] === from && (moved(one)[1] === to || !known(moved(one)[1]))), \"value\");\n if (!renders.length || !edges.length)\n return void 0;\n return edges.filter(([from, to]) => from !== to && known(from) && known(to)).sort(([a, b], [c, d]) => a === c ? b < d ? -1 : b > d ? 1 : 0 : a < c ? -1 : 1).map((edge) => ({ from: edge[0], to: edge[1], dangerous: dangerous.some(([from, to]) => from === edge[0] && to === edge[1]), why: whyOf(edge) }));\n};\n\n// ../provider-closure/world/dist/helpers/records.js\nvar entries = (asked, family) => {\n const held = asked.lines.filter((line) => of(line, \"scope\").startsWith(`${family}/`));\n return [...new Set(held.map((line) => of(line, \"scope\")))].map((scope) => {\n const own = held.filter((line) => of(line, \"scope\") === scope);\n return {\n scope,\n title: own.map((line) => of(line, \"about\")).find(Boolean) ?? words(asked, scope.slice(scope.indexOf(\"/\") + 1)),\n field: (measure) => ((line) => line === void 0 ? void 0 : of(line, \"value\"))(own.find((line) => of(line, \"measure\") === measure))\n };\n });\n};\nvar typedAs = (asked, head, type, beside) => [...new Map(receipts(asked, \"source\").filter((line) => of(line, \"scope\").startsWith(head) && receiptValue(asked, \"source\", of(line, \"scope\"), placeOf(line), \"type\") === type).map((line) => [`${placeOf(line)} ${of(line, \"scope\")}`, [of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1), receiptValue(asked, \"source\", of(line, \"scope\"), placeOf(line), beside) ?? \"\"]])).values()];\n\n// ../provider-closure/world/dist/helpers/shown.js\nvar NUMBER = /(? [...receipts(asked, \"state\"), ...receipts(asked, \"cases\"), ...receipts(asked, \"captures\"), ...receipts(asked, \"laws\")].flatMap((line) => [of(line, \"value\"), of(line, \"scope\")]).filter(Boolean);\nvar captured = (asked, name) => {\n const got = receiptValue(asked, \"captures\", `capture/${name}`);\n return got && got !== \"none\" ? got : void 0;\n};\nfunction unreceipted(asked) {\n const held = new Set(receipted(asked));\n const commands = prose(asked, \"commands\") ?? \"\";\n const idea = prose(asked, \"idea\") ?? \"\";\n const typed = commands.split(\"\\n\").filter((line) => TYPED.test(line)).length;\n const loose = [...`${idea}\n${commands}`.matchAll(NUMBER)].map((one) => one[0]).filter((n) => ![...held].some((said) => said.includes(n))).length;\n return typed + loose;\n}\n\n// ../provider-closure/world/dist/regions/alphabet.js\nvar render = (asked) => [\n `## ${prose(asked, \"reference/alphabet\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/alphabet-table\") ?? \"\",\n \"|---|---|\",\n ...[\"notation/cell\", \"notation/types\"].flatMap((scope) => pairs(asked, scope).map(([members, symbol]) => `| ${cellText(symbol)} | ${cellText(members)} |`))\n];\n\n// ../provider-closure/world/dist/regions/bond.js\nvar render2 = (asked) => {\n const first = shortest(asked);\n const cell2 = first === void 0 ? void 0 : cellOf(asked, first.at);\n if (cell2 === void 0)\n return [];\n const [held, alone, broken] = states(asked);\n const last = states(asked)[states(asked).length - 1]?.name;\n const [meets, { r, top, bottom, apart, axis }, mark2] = [SPANS.inhabited(cell2.held), spacing(asked, \"bond\"), look(asked, \"width/mark\")];\n const [mid, stroke] = [px(numeral(mark2) * axis), { stroke: alone?.colour, \"stroke-width\": look(asked, \"stroke/mark\"), \"stroke-linecap\": look(asked, \"stroke/cap\") }];\n const title = meets ? say(asked, \"cell/bond\", { count: cell2.claims.length }) : `${cell2.claims.length} ${say(asked, \"cell/apart\", { apart: prose(asked, \"apart\") ?? \"\" })}`;\n return [\n ``,\n `${title}`,\n ...meets ? [``] : [],\n ``,\n ``,\n \"\"\n ];\n};\n\n// ../provider-closure/world/dist/regions/cff.js\nvar render3 = (asked) => {\n const doiOf = (field) => value(asked, \"sources/doi\") === void 0 ? void 0 : field(\"doi\");\n const [paper, name] = [entries(asked, \"cites\").find((one) => doiOf(one.field) !== void 0), value(asked, \"name\")];\n if (name === void 0)\n return [];\n const quoted = (text) => JSON.stringify(text);\n const person = (who, indent) => (([family = \"\", ...given]) => given.length ? [`${indent}- family-names: ${quoted(family)}`, `${indent} given-names: ${quoted(given.join(\", \"))}`] : [`${indent}- name: ${quoted(who)}`])(who.split(\", \"));\n const optional = (key, scope) => ((said) => said === void 0 ? [] : [`${key}: ${quoted(said)}`])(value(asked, scope));\n const [authors, year, version, publisher] = [alphabet(paper?.field(\"author\") ?? \"\").members, paper?.field(\"year\"), paper?.field(\"version\"), paper?.field(\"publisher\")];\n const preferred = paper === void 0 ? [] : [\n \"preferred-citation:\",\n \" type: article\",\n ` title: ${quoted(paper.title)}`,\n ...authors.length ? [\" authors:\", ...authors.flatMap((one) => person(one, \" \"))] : [],\n ...year !== void 0 && Number.isInteger(numeral(year)) ? [` year: ${year}`] : [],\n ...version === void 0 ? [] : [` version: ${quoted(version)}`],\n ...publisher === void 0 ? [] : [\" publisher:\", ` name: ${quoted(publisher)}`],\n ` doi: ${quoted(doiOf(paper.field) ?? \"\")}`\n ];\n return resolved(asked, [\n \"cff-version: 1.2.0\",\n `message: ${quoted(paper ? say(asked, \"cff/paper\", { title: paper.title }) : say(asked, \"cff/name\", { name }))}`,\n \"type: software\",\n `title: ${quoted(name)}`,\n ...optional(\"version\", \"version\"),\n ...((author) => author === void 0 ? [] : [\"authors:\", ...person(author, \" \")])(value(asked, \"author\")),\n ...optional(\"repository-code\", \"repository\"),\n ...optional(\"license\", \"license\"),\n ...preferred\n ]);\n};\n\n// ../provider-closure/world/dist/regions/check.js\nvar render4 = (asked) => {\n const [glyph2, folds] = [states(asked)[0]?.glyph ?? \"\", asked.lines.find((one) => of(one, \"scope\") === \"fold\" && of(one, \"role\") === \"writes\")];\n const [repository, resolvedAt, command] = [value(asked, \"repository\"), value(asked, \"repository/resolved\"), value(asked, \"check\")];\n const how = [\n ...repository === void 0 || resolvedAt === void 0 ? [] : [say(asked, \"check/repository\", { glyph: glyph2, repository })],\n ...command === void 0 ? [] : [say(asked, \"check/command\", { glyph: glyph2, check: command })],\n ...folds === void 0 ? [] : [say(asked, \"check/fold\", { fold: of(folds, \"value\"), about: of(folds, \"about\") })]\n ];\n return resolved(asked, [...section(asked, \"check\"), say(asked, \"check/held\", { glyph: glyph2, count: receiptValue(asked, \"cases\", \"cases/held\") ?? 0 }), ...how.length ? [\"\", how.join(\" \\xB7 \")] : []]);\n};\n\n// ../provider-closure/world/dist/regions/claims.js\nvar reading = (asked, glob) => {\n const held = Object.values(asked.regions).flatMap((region) => region.receipts).filter((line2) => matches(glob, of(line2, \"scope\")));\n if (held.length > 1)\n throw new Error(`REFUSE\\xB7claim ${asked.region}@${asked.at}: ${glob} names ${held.length} receipts without a resolved value`);\n if (held.length === 1)\n return of(held[0], \"value\");\n const line = found(asked, glob);\n if (line === void 0 || of(line, \"value\") === \"withdraw\")\n return void 0;\n return of(line, \"form\") === \"interval\" ? of(line, \"value\") : of(line, \"form\") === \"alphabet\" ? String(listed(asked, glob).length) : void 0;\n};\nvar render5 = (asked) => {\n const here = folder(asked.shape);\n const held = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"claims/\") && of(line, \"value\") !== \"withdraw\").sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\")));\n const bullet = (scope, value2, needs) => {\n const [page] = alphabet(needs).members;\n const read = fields(value2).map(([name, glob]) => [name, reading(asked, glob)]);\n if (read.some(([, got]) => got === void 0))\n return [];\n const said = sentence(asked, say(asked, scope, Object.fromEntries(read.map(([name, got]) => [name, got ?? \"\"]))));\n if (!said)\n return [];\n return [`- **${said}**${page === void 0 ? \"\" : ` \\xB7 [${prose(asked, \"claims/receipt\") ?? \"\"}](${relative(here, page)})`}`];\n };\n const rows = held.flatMap((line) => bullet(of(line, \"scope\"), of(line, \"value\"), of(line, \"needs\")));\n return resolved(asked, rows.length ? [...section(asked, \"claims\"), ...rows] : []);\n};\n\n// ../provider-closure/world/dist/regions/commands.js\nvar render6 = (asked) => {\n const said = prose(asked, \"commands\");\n const out = captured(asked, \"quickstart\");\n const usage = captured(asked, \"usage\");\n const blocks = [\n ...said ? [\"```bash\", said, \"```\"] : [],\n ...out ? [\"```\", out, \"```\"] : [],\n ...usage ? [\"```\", usage, \"```\"] : []\n ];\n return resolved(asked, blocks);\n};\n\n// ../provider-closure/world/dist/regions/door.js\nvar render7 = (asked) => {\n const drawn3 = figured(asked, \"ranges\", 1)[0];\n const figure = drawn3 === void 0 ? void 0 : figureAt(drawn3);\n const one = figure === void 0 ? void 0 : shortest(asked);\n const cell2 = one === void 0 ? void 0 : cellOf(asked, one.at);\n const [what] = alphabet(of(found(asked, \"docs/what\"), \"needs\")).members;\n const parts2 = [\n ...figure !== void 0 && cell2 !== void 0 ? [image(asked, figure, cell2)] : [],\n ...what === void 0 ? [] : [((link, words2) => words2 ? `${say(asked, `${asked.region}/what`)} [${words2}](${link})` : `[${say(asked, `${asked.region}/what`)}](${link})`)(relative(folder(asked.shape), what), prose(asked, `${asked.region}/words`))]\n ];\n return resolved(asked, parts2.flatMap((part, i) => i ? [\"\", part] : [part]));\n};\n\n// ../provider-closure/world/dist/regions/unreceipted.js\nvar receipt = (asked) => counted({ ...asked, region: \"door\" }, \"unreceipted\", unreceipted(asked), \"unreceipted\");\n\n// ../provider-closure/world/dist/regions/figure.js\nvar render8 = (asked) => {\n const first = shortest(asked);\n const cell2 = first === void 0 ? void 0 : cellOf(asked, first.at);\n const at = figured(asked, \"ranges\", 1).map(figureAt).find(Boolean);\n const marks = prose(asked, \"marks\");\n return resolved(asked, at === void 0 || cell2 === void 0 ? [] : [image(asked, at, cell2), ...marks === void 0 ? [] : [\"\", marks]]);\n};\n\n// ../provider-closure/world/dist/regions/figure-fold.js\nvar render9 = (asked) => {\n const lines = declaredSample(asked, figured(asked, asked.region, 1)[0]);\n const cell2 = cellOfLines(lines.filter((line) => of(line, \"scope\") === of(lines[0], \"scope\")));\n const named = listed(asked, \"form/figure/fold\");\n const [claimed, met, apart] = named.map((state3) => rendered(asked, state3));\n const [g, wide] = [spacing(asked, \"fold\"), numeral(look(asked, \"width/figure\"))];\n const away = cell2?.rest?.who;\n const held = cell2 === void 0 ? void 0 : SPANS.inhabited(cell2.held) ? cell2.held : cell2.rest?.held;\n const said = cell2 === void 0 ? [] : [\n held === void 0 ? \"\" : say(asked, \"figure/fold/together\", { ...held, state: (named[1] ?? \"\").toLowerCase() }),\n away === void 0 || held === void 0 ? \"\" : say(asked, \"figure/fold/apart\", { who: away, state: cell2.state.toLowerCase() }),\n away === void 0 || held === void 0 || !Number.isFinite(g.back) ? \"\" : say(asked, \"figure/fold/back\", { ...held })\n ].filter(Boolean);\n const x = (v) => cell2 === void 0 ? NaN : between(v, [cell2.hull.lo - g.pad, cell2.hull.hi + g.pad], [g.margin, wide - g.margin]);\n const rows = cell2 === void 0 ? [] : cell2.claims.filter((claim) => claim.origin !== away);\n const out = cell2?.claims.find((claim) => claim.origin === away);\n const height = (rows.length + (out ? 1 : 0) + 1) * g.row + said.length * g.say + g.say;\n const bar = (lo, hi, y, body) => `${body}`;\n const fade = (begin) => ``;\n const turn = (from, to, begin) => ``;\n return drawn2(asked, cell2 === void 0 || held === void 0 || !said.length ? [] : [\n ``,\n ...style([css([[\"text\", { ...font(asked, \"text\", \"text\"), fill: painted(asked, \"text\").colour }]])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ``,\n ...rows.map((claim, i) => bar(claim.span.lo, claim.span.hi, g.top + i * g.row, `${out ? turn(claimed?.colour, apart?.colour, g.set) : \"\"}${out && Number.isFinite(g.back) ? turn(apart?.colour, claimed?.colour, g.back) : \"\"}`)),\n bar(held.lo, held.hi, g.top + rows.length * g.row, `${turn(claimed?.colour, met?.colour, g.meet)}${out ? turn(met?.colour, apart?.colour, g.set) : \"\"}${out && Number.isFinite(g.back) ? turn(apart?.colour, met?.colour, g.back) : \"\"}`),\n ...out ? [bar(out.span.lo, out.span.hi, g.top + (rows.length + 1) * g.row + g.gap, `${turn(claimed?.colour, apart?.colour, g.set)}${Number.isFinite(g.back) ? `` : \"\"}`)] : [],\n ...said.map((one, i) => `${escaped(one)}${fade(g.speak + i * g.meet)}`),\n \"\"\n ], listOf(asked, said), \"figure/fold\", ((caption) => caption ? [sentence(asked, caption)] : [])(cell2 === void 0 ? \"\" : captioned(asked, cell2)));\n};\n\n// ../provider-closure/world/dist/regions/figure-line.js\nvar render10 = (asked) => {\n const line = declaredSample(asked, figured(asked, asked.region, 1)[0])[0];\n const rows = listed(asked, \"form/figure/line\").map((field) => [field, of(line, field)]).filter(([, said]) => said !== \"\");\n const [held] = states(asked);\n const [g, wide] = [spacing(asked, \"line\"), look(asked, \"width/figure\")];\n const alt = line === void 0 ? \"\" : say(asked, \"figure/line\", { scope: of(line, \"scope\"), count: rows.length });\n const height = px(g.top + rows.length * g.row);\n return drawn2(asked, rows.length ? [\n ``,\n ...style([css([[\"text\", { ...font(asked, \"code\", \"code\"), fill: painted(asked, \"text\").colour }], [\".field\", { fill: held?.colour, \"font-weight\": look(asked, \"weight/strong\") }]])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ...rows.flatMap(([field, said], i) => [`${escaped(field)}`, `${escaped(said)}`]),\n \"\"\n ] : [], alt, \"figure/line\", alt ? [sentence(asked, alt)] : []);\n};\n\n// ../provider-closure/world/dist/regions/figure-refuses.js\nvar render11 = (asked) => {\n const told = refusedCase(asked);\n const [, , forbidden] = states(asked);\n const [g, wide] = [spacing(asked, \"refuses\"), look(asked, \"width/figure\")];\n const alt = told === void 0 || !told.input || !told.why ? \"\" : say(asked, \"figure/refuses\", { input: told.input, why: told.why });\n return drawn2(asked, told !== void 0 && alt ? [\n ``,\n ...style([\n css([[\"text\", { ...font(asked, \"text\", \"text\"), fill: painted(asked, \"text\").colour }], [\".cross\", { fill: forbidden?.colour, \"font-weight\": look(asked, \"weight/strong\") }]]),\n css([[\".asked\", { ...font(asked, \"code\", \"code\"), fill: forbidden?.colour, \"text-decoration\": \"line-through\" }]])\n ], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n `${escaped(forbidden?.glyph ?? \"\")}`,\n `${escaped(told.input)}`,\n `${escaped(told.why)}`,\n \"\"\n ] : [], alt, \"figure/refuses\");\n};\n\n// ../provider-closure/world/dist/regions/figure-world.js\nvar render12 = (asked) => {\n const shown = examples(asked).find((one) => one.name === value(asked, \"docs/world\"));\n const own = shown === void 0 ? regionLines(asked, \"capsule\") : handed([\"**\"], shown.printed.split(\"\\n\"));\n const said = (scope) => of(own.find((line) => of(line, \"scope\") === scope), \"value\");\n const nameOf = (line) => of(line, \"scope\").slice(of(line, \"scope\").indexOf(\"/\") + 1);\n const declared = own.filter((line) => of(line, \"scope\").startsWith(\"region/\") && of(line, \"measure\") === \"reads\");\n const regions = [...new Set(declared.map(nameOf))].sort();\n const ordered = [...declared].sort((a, b) => nameOf(a) < nameOf(b) ? -1 : nameOf(a) > nameOf(b) ? 1 : 0);\n const dir = value(asked, `form/runtime/${said(\"capsule/runtime\")}/regions`);\n const files = dir === void 0 || shown !== void 0 ? [] : receipts(asked, \"source\").map(placeOf).filter((at) => at.startsWith(dir) && regions.includes(stem(at)));\n const longest = hull([0, ...[...new Set(files)].map((at) => numeral(receiptValue(asked, \"source\", \"source/lines\", at)) || 0)]).hi;\n const uses = own.find((line) => of(line, \"scope\").startsWith(\"uses/\"));\n const release = new Set([said(\"capsule/topos\"), shown === void 0 ? value(asked, `uses/${asked.name}`) ?? \"\" : \"\"].filter((one) => one.startsWith(\"sha256:\")));\n const blob = shown === void 0 ? \"\" : of(uses, \"value\");\n const pin = blob.startsWith(\"sha256:\") && !release.has(blob) ? blob : \"\";\n const stages = [\n say(asked, \"figure/world/declares\", { domain: said(\"capsule/domain\"), runtime: said(\"capsule/runtime\"), effects: said(\"capsule/effects\") }),\n ...shown === void 0 ? [say(asked, \"figure/world/regions\", { count: regions.length, longest }), say(asked, \"figure/world/vectors\", { count: receipts(asked, \"vectors\").length })] : ordered.map((line) => say(asked, \"figure/world/region\", { name: nameOf(line), reads: of(line, \"value\") })),\n ...pin ? [say(asked, \"figure/world/pinned\", { place: asked.name })] : [],\n ...shown !== void 0 && pin ? [say(asked, \"figure/world/adopted\", { scope: of(uses, \"scope\") })] : [],\n say(asked, \"figure/world/host\", { runtime: said(\"capsule/runtime\") })\n ].filter((stage) => Boolean(stage));\n const [held, alone] = states(asked);\n const g = spacing(asked, \"world\");\n const [height, wide] = [stages.length * g.pitch, hull([numeral(look(asked, \"width/figure\")), Math.ceil(g.margin + hull([0, ...stages.map((stage) => stage.length)]).hi * g.char)]).hi];\n return drawn2(asked, own.length && stages.length ? [\n ``,\n ...style([css([[\"text\", { ...font(asked, \"code\", \"small\"), fill: painted(asked, \"text\").colour }], [\"rect\", { fill: \"none\", stroke: alone?.colour }], [\"line\", { stroke: held?.colour }]])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ...stages.flatMap((stage, i) => [\n ``,\n `${escaped(stage)}`,\n ...i ? [``] : []\n ]),\n \"\"\n ] : [], listOf(asked, stages), \"figure/world\");\n};\n\n// ../provider-closure/world/dist/regions/first-use.js\nvar render13 = (asked) => ((first) => first === void 0 ? [] : [...section(asked, \"first-use\"), say(asked, \"first-use/lead\", { name: first.name }), \"\", ...glance(asked, first, folder(asked.shape))])(shortest(asked));\n\n// ../provider-closure/world/dist/regions/forms.js\nvar render14 = (asked) => [\n `## ${prose(asked, \"reference/forms\") ?? \"\"}`,\n \"\",\n ...[...new Set(typedAs(asked, \"source/declared/\", value(asked, \"docs/forms\") ?? \"\", \"args\").map(([name, args]) => `- ${say(asked, \"reference/form\", { name, args: cellText(args) })}`))].sort()\n];\n\n// ../provider-closure/world/dist/regions/guide-at-zero.js\nvar render15 = (asked) => resolved(asked, [\n `# ${prose(asked, \"guide/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"contributing\", { check: value(asked, \"check\") ?? say(asked, \"guide/owed\"), open: count(asked, laws(asked).filter((line) => of(line, \"kind\") === \"conjecture\").length, true) })\n]);\n\n// ../provider-closure/world/dist/regions/hero.js\nvar badges = (asked) => {\n const [held, alone] = states(asked);\n const part = (text) => encodeURIComponent(text.split(\"-\").join(\"--\").split(\"_\").join(\"__\").split(\" \").join(\"_\"));\n const shield = (label, message, colour) => `![${label} ${message}](${value(asked, \"sources/badges\") ?? \"\"}/${part(label)}-${part(message)}-${(colour?.colour ?? \"\").slice(1)})`;\n const measured = (region, scope) => {\n const said = receiptValue(asked, region, scope);\n if (said === void 0)\n return void 0;\n for (const text of [said, `${said}..${said}`]) {\n try {\n const got = fromLine(canonical({ at: \"place:badge\", by: \"reader\", form: \"interval\", measure: \"count\", role: \"reads\", scope, value: text }), null);\n if (got.kind !== \"fact\" || got.value.bound.kind !== \"interval\")\n continue;\n const { lo, hi } = got.value.bound;\n if (lo !== null && lo === hi && Number.isFinite(lo))\n return lo;\n } catch {\n }\n }\n return void 0;\n };\n const cases = measured(\"cases\", \"cases/held\");\n const depends = found(asked, \"dependencies\") === void 0 ? void 0 : listed(asked, \"dependencies\").length;\n const verdict = receiptValue(asked, \"state\", \"second/verdict\");\n const doi = entries(asked, \"cites\").map((one) => value(asked, \"sources/doi\") === void 0 ? void 0 : one.field(\"doi\")).find(Boolean);\n const valued = (key) => {\n const said = value(asked, key);\n if (said === void 0)\n return [];\n const label = say(asked, `badge/${key}`) || key;\n const message = said === label || said.startsWith(`${label} `) ? said.slice(label.length).trim() : said;\n return message === \"\" ? [] : [shield(label, message, alone)];\n };\n const n = (scope) => measured(\"state\", scope);\n const digest = receiptValue(asked, \"state\", \"release/digest\") ?? \"\";\n const lawCounts = [\"verdict/met\", \"verdict/short\", \"verdict/over\", \"verdict/refused\", \"verdict/forks\"].map(n);\n const complete = verdict !== void 0 && lawCounts.every((one) => one !== void 0);\n const broken = !complete || lawCounts.slice(1).some((one) => one !== 0) || verdict !== \"agrees\";\n const drawn3 = {\n dependencies: () => depends === void 0 ? [] : [shield(say(asked, \"badge/dependencies\"), String(depends), depends ? alone : held)],\n cases: () => cases !== void 0 ? [shield(say(asked, \"badge/cases\"), say(asked, \"badge/held\", { count: cases }), held)] : [],\n verify: () => verdict === void 0 ? [] : [shield(say(asked, \"badge/verify\") || \"verify\", verdict, verdict === \"agrees\" ? held : alone)],\n doi: () => doi === void 0 ? [] : [`[${shield(say(asked, \"badge/doi\"), doi, alone)}](${value(asked, \"sources/doi\") ?? \"\"}${doi})`],\n release: () => digest ? [shield(say(asked, \"badge/release\") || \"release\", digest.replace(/^[^:]*:/, \"\").slice(0, 12), held)] : [],\n claims: () => ((c) => c !== void 0 ? [shield(say(asked, \"badge/claims\") || \"claims\", String(c), held)] : [])(n(\"verdict/claims\")),\n second: () => ((c) => c === void 0 ? [] : [shield(say(asked, \"badge/second\") || \"second\", String(c), verdict === \"agrees\" ? held : alone)])(n(\"verdict/met\")),\n laws: () => complete ? [shield(say(asked, \"badge/laws\") || \"laws\", `${lawCounts[0]}/${lawCounts.slice(0, 4).reduce((sum, one) => sum + (one ?? 0), 0)}`, broken ? alone : held)] : []\n };\n const named = found(asked, \"docs/badges\") !== void 0 ? listed(asked, \"docs/badges\") : listed(asked, \"wire/badges/world\").length ? listed(asked, \"wire/badges/world\") : listed(asked, \"audit/wire/badges/world\");\n return [named.flatMap((name) => (drawn3[name] ?? (() => valued(name)))()).join(\" \")];\n};\nvar render16 = (asked) => [\n ...((logo) => logo === void 0 ? [] : [`\"\"${attrs({

`, \"\"])(value(asked, \"docs/logo\")),\n `# ${value(asked, \"name\") ?? asked.name}`,\n \"\",\n ...badges(asked),\n ...((what) => what === void 0 ? [] : [\"\", sentence(asked, what)])(of(found(asked, \"docs/tagline\"), \"about\") || prose(asked, \"what\"))\n];\n\n// ../provider-closure/world/dist/regions/how-they-rest.js\nvar render17 = (asked) => {\n const where = (glob) => asked.lines.filter((line) => matches(glob, of(line, \"scope\")));\n const packages = new Map(where(\"*/name\").map((line) => [of(line, \"value\"), steps(of(line, \"scope\"))[0] ?? \"\"]));\n const among = where(\"*/dependencies\").flatMap((line) => alphabet(of(line, \"value\")).members.map((spec) => [...packages].find(([name]) => spec.startsWith(`${name}@`))?.[1]).filter((to) => to !== void 0).map((to) => ` ${steps(of(line, \"scope\"))[0] ?? \"\"} --> ${to}`)).sort(byBytes);\n const summary = asked.lines.find((line) => of(line, \"scope\").startsWith(`prose/${lang(asked)}/`) && of(line, \"scope\").endsWith(\"/rests\"));\n if (among.length)\n return zoom(of(summary, \"about\"), [\"```mermaid\", \"flowchart RL\", ...among, \"```\"]);\n const prefix = ((name) => name.slice(0, name.lastIndexOf(\"/\") + 1))(value(asked, \"name\") ?? \"\");\n const depends = alphabet(value(asked, \"dependencies\") ?? \"\").members;\n const needed = [...new Set(where(\"needs/*\").map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))].filter((one) => one && one !== asked.name);\n const pinned = [...new Set(where(\"uses/*\").map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))].filter((one) => depends.some((spec) => spec.startsWith(`${prefix}${one}@`)));\n const read = [...new Set(where(\"dep/*\").filter((line) => of(line, \"role\") === \"reads\").map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))];\n const rests2 = (needed.length ? needed : pinned.length ? pinned : read).filter((one) => one && one !== asked.name).sort(byBytes);\n return rests2.length ? [...((heading2) => heading2 ? [`## ${heading2}`, \"\"] : [])(prose(asked, \"rests/heading\")), say(asked, \"rests/on\", { names: listOf(asked, rests2) })] : [];\n};\n\n// ../provider-closure/world/dist/regions/idea.js\nvar render18 = (asked) => resolved(asked, titled(asked, \"idea\", parted(asked, \"idea\")));\n\n// ../provider-closure/world/dist/regions/line.js\nvar render19 = (asked) => {\n const pin = value(asked, `sources/${asked.name}`);\n if (pin === void 0)\n return [];\n const uses = value(asked, `uses/${asked.name}`) ?? \"\";\n const shown = [pin, ...uses && !uses.startsWith(\"sha256:\") ? [uses] : []];\n return resolved(asked, shown);\n};\n\n// ../provider-closure/world/dist/regions/install.js\nvar render20 = (asked) => {\n if (found(asked, `uses/${asked.name}`) !== void 0 || found(asked, `sources/${asked.name}`) !== void 0)\n return render19(asked);\n const [how, name] = [value(asked, \"install\"), value(asked, \"name\")];\n return resolved(asked, how === void 0 || name === void 0 ? [] : [\"```bash\", `${how} ${name}`, \"```\"]);\n};\n\n// ../provider-closure/world/dist/regions/learn.js\nvar restsOn = (asked, called, shown) => {\n const ids = /* @__PURE__ */ new Map();\n const offered = (call) => offers(asked).find((line) => of(line, \"scope\").endsWith(`/${call}`));\n const calls = called.filter((call) => offers(asked).some((line) => of(line, \"scope\").endsWith(`/${call}`) && of(line, \"restsOn\") !== \"\"));\n const edges = calls.flatMap((call, i) => alphabet(of(offered(call), \"restsOn\")).members.map((on) => ` c${i} --> ${ids.get(on) ?? ids.set(on, `l${ids.size}`).get(on)}`));\n const colour = states(asked)[0]?.colour;\n return edges.length ? [\n \"```mermaid\",\n \"flowchart LR\",\n ...calls.map((call, i) => ` c${i}[\"${call}\"]`),\n ...[...ids].map(([scope, id]) => ` ${id}([\"${labelOf(asked, scope)}\"])`),\n ...edges,\n ...classDef(\"shown\", colour, painted(asked, \"text-on\").colour),\n ` class ${ids.get(shown) ?? \"\"} shown`,\n \"```\"\n ] : [];\n};\nvar render21 = (asked) => {\n const one = examples(asked).find((example) => example.name === stem(asked.shape));\n if (one === void 0)\n return ((first) => first === void 0 ? [] : [\n ...section(asked, \"learn\"),\n ...glance(asked, first, folder(asked.shape)),\n ...((caption) => caption ? [\"\", sentence(asked, caption)] : [])(((cell3) => cell3 === void 0 ? \"\" : captioned(asked, cell3))(cellOf(asked, first.at)))\n ])(examples(asked).find((example) => example.name === value(asked, \"docs/learn\")) ?? shortest(asked));\n const called = receipts(asked, \"source\").filter((line) => placeOf(line) === one.at && of(line, \"scope\") === \"source/calls\").flatMap((line) => alphabet(of(line, \"value\")).members);\n const rests2 = /* @__PURE__ */ new Map();\n for (const call of called)\n for (const on of alphabet(of(offers(asked).find((line) => of(line, \"scope\").endsWith(`/${call}`)), \"restsOn\")).members)\n rests2.set(on, (rests2.get(on) ?? 0) + 1);\n const shown = [...rests2].sort((a, b) => b[1] - a[1] || byBytes(a[0], b[0]))[0]?.[0];\n const stated2 = shown === void 0 ? void 0 : lawAt(asked, shown);\n const graph = stated2 === void 0 || shown === void 0 ? [] : restsOn(asked, called, shown);\n const [cell2, here] = [cellOf(asked, one.at), asked.shape.slice(0, asked.shape.lastIndexOf(\"/\"))];\n const drawn3 = figured(asked, \"ranges\", numeral(value(asked, \"form/page/statement\"))).map(figureAt).find((at) => at !== void 0 && stem(at) === one.name);\n const shownFigure = drawn3 !== void 0 && cell2 !== void 0 ? [image(asked, relative(here, drawn3), cell2), \"\", sentence(asked, captioned(asked, cell2))] : shown !== void 0 && shown === value(asked, \"notation/object\") ? graph : [];\n return resolved(asked, [\n `# ${heading(asked, one.name)}`,\n \"\",\n ...shownFigure.length ? [...shownFigure, \"\"] : [],\n ...stated2 ? [sentence(asked, of(stated2, \"about\")), \"\"] : [],\n `## ${prose(asked, \"learn/run\") ?? \"\"}`,\n \"\",\n ...run(asked, one),\n \"\",\n ...graph.length && shownFigure !== graph ? [`## ${prose(asked, \"learn/rests\") ?? \"\"}`, \"\", ...graph, \"\"] : [],\n ...titled(asked, \"learn/source\", [say(asked, \"learn/source\", { at: relative(here, one.at), place: asked.name })])\n ]);\n};\n\n// ../provider-closure/world/dist/regions/license.js\nvar render22 = (asked) => resolved(asked, asked.lines.filter((line) => of(line, \"scope\") === \"license\" && of(line, \"about\") !== \"\").flatMap((line) => of(line, \"about\").split(\"\\n\")));\n\n// ../provider-closure/world/dist/regions/media.js\nvar render23 = (asked) => {\n const [kept, sha] = [value(asked, \"form/page/media\"), \"sha256:\"];\n const [still, players] = [[\"svg\", \"png\", \"gif\"], [\"video\", \"audio\"]];\n const source = (said) => said.startsWith(sha) ? kept && fill(asked, \"page/media\", kept, { digest: said.slice(sha.length) }) : said;\n const embed = (form2, src, about) => still.includes(form2) ? `

` : players.includes(form2) ? `<${form2}${attrs({ src, width: form2 === players[0] ? look(asked, \"width/figure\") : void 0 })} controls>` : void 0;\n const lines = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"media/\")).sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\")));\n return lines.flatMap((line) => /* @__PURE__ */ ((one) => one ? [\"\", one] : [])(embed(of(line, \"measure\"), source(of(line, \"value\")), of(line, \"about\")))).slice(1);\n};\n\n// ../provider-closure/world/dist/regions/notation.js\nvar formulaLaw = (asked, formula) => lawAt(asked, of(formula, \"scope\").slice(0, of(formula, \"scope\").lastIndexOf(\"/\")));\nvar arrows = (asked) => {\n const held = object(asked);\n const module = held === void 0 ? void 0 : moduleOfObject(asked, held);\n const symbols = new Map(pairs(asked, \"notation/symbols\"));\n const made = module === void 0 || held === void 0 ? [] : resting(asked, of(held, \"scope\")).map((line) => of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1)).flatMap((name) => {\n const params = receiptLine(asked, \"source\", `source/arrow/${name}`, module, \"params\");\n const result = receiptValue(asked, \"source\", `source/arrow/${name}`, module, \"result\");\n if (params === void 0 || result === void 0)\n return [];\n const typed = fields(of(params, \"value\")).map(([name2, type]) => symbolOf(asked, type, name2));\n const makes = symbolOf(asked, result, \"value\") === symbols.get(\"object\") && !typed.some((one) => one === symbols.get(\"object\") || one === `[${symbols.get(\"object\")}]`);\n return makes ? [] : [[name, `${typed.join(` ${glyph(asked, \"product\")} `)} ${glyph(asked, \"maps\")} ${symbolOf(asked, result, \"value\")}`]];\n });\n const kind = pairs(asked, \"notation/types\").find(([, sym]) => sym === symbols.get(\"state\"))?.[0] ?? \"\";\n const union = alphabet(of([...receipts(asked, \"source\")].filter((one) => of(one, \"scope\") === `source/union/${kind}`).sort((a, b) => byBytes(placeOf(a), placeOf(b)))[0], \"value\")).members;\n const width = hull(made.map(([name]) => name.length)).hi;\n return [...made.map(([name, arrow]) => `${name.padEnd(width)} : ${arrow}`), ...union.length ? [`${symbols.get(\"state\")}(${symbols.get(\"object\")}) ${glyph(asked, \"member\")} {${union.join(\", \")}}`] : []];\n};\nvar render24 = (asked) => {\n const head = tuple(asked);\n if (head === void 0)\n return [];\n if (asked.at <= 0)\n return [\"```text\", head, \"```\"];\n if (asked.at <= 1)\n return [\"```text\", head, ...aligned(asked), \"```\"];\n const all = formulas(asked);\n if (!reaches(asked, \"whole\"))\n return [\"```text\", head, \"```\", \"\", ...all.map((line) => `- \\`${of(line, \"value\")}\\` \\u2014 ${of(formulaLaw(asked, line), \"about\")}.`)];\n return [\n `## ${prose(asked, \"reference/notation\") ?? \"\"}`,\n \"\",\n \"```text\",\n head,\n \"```\",\n \"\",\n prose(asked, \"notation/table\") ?? \"\",\n \"|---|---|---|\",\n ...all.map((line) => ((law) => `| \\`${cellText(of(line, \"value\"))}\\` | ${law === void 0 ? \"\" : lawName(asked, law)} | ${cellText(of(law, \"about\"))} |`)(formulaLaw(asked, line))),\n \"\",\n \"```text\",\n ...arrows(asked),\n \"```\"\n ];\n};\n\n// ../provider-closure/world/dist/regions/open.js\nvar render25 = (asked) => {\n const needed = asked.lines.filter((line) => matches(\"needs/*\", of(line, \"scope\")) && of(line, \"value\") !== \"withdraw\");\n if (needed.length)\n return resolved(asked, [...section(asked, \"open\"), \"\", ...needed.map((line) => `- ${of(line, \"about\") || of(line, \"scope\")}`)]);\n const facts = (family) => receipts(asked, \"state\").filter((line) => of(line, \"scope\").startsWith(`${family}/`)).sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))).map((line) => [of(line, \"scope\").slice(family.length + 1), of(line, \"value\")]);\n const said = (family) => facts(family).map(([scope, reading2]) => say(asked, `open/${family}`, { scope, reading: reading2 })).filter(Boolean).map((one) => `- ${one}`);\n const judged = facts(\"conjecture\").map(([scope, reading2]) => ((law) => law === void 0 ? say(asked, \"open/open\", { scope, reading: reading2 }) : conjectured(asked, law))(lawAt(asked, scope))).filter(Boolean);\n const held = judged.length ? judged : laws(asked).filter((line) => of(line, \"kind\") === \"conjecture\").map((law) => conjectured(asked, law));\n const [unpaid, outside] = [said(\"unpaid\"), said(\"outside\")];\n if (!held.length && !unpaid.length && !outside.length)\n return [];\n return resolved(asked, [...section(asked, \"open\"), ...[\n ...held.length ? [\"\", say(asked, judged.length ? \"open/judged\" : \"open/lead\", { count: count(asked, held.length, true) }), \"\", ...held.map((one) => `- ${one}`)] : [],\n ...unpaid.length ? [\"\", ...unpaid] : [],\n ...outside.length ? [\"\", ...outside] : []\n ].slice(1)]);\n};\n\n// ../provider-closure/world/dist/regions/open-conjectures.js\nvar render26 = (asked) => {\n const held = laws(asked).filter((line) => of(line, \"kind\") === \"conjecture\");\n if (!held.length)\n return [];\n const bullet = (line) => `- ${conjectured(asked, line)}`;\n const who = pairs(asked, \"open/who\");\n const groups = [...new Set(who.map(([group]) => group))].map((group) => [group, held.filter((line) => who.some(([g, one]) => g === group && lawKey(line) === one))]);\n const loose = held.filter((line) => !who.some(([, one]) => lawKey(line) === one));\n const full = held.map((line) => `${sentence(asked, of(line, \"about\"))} ${(sample(asked, line, \"no\").about ?? [])[0] ?? \"\"}`.trim());\n return resolved(asked, [\n `## ${prose(asked, \"open/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"open/lead\", { count: count(asked, held.length, true) }),\n ...groups.flatMap(([group, lines]) => lines.length ? [\"\", say(asked, \"open/group\", { count: count(asked, lines.length, true), group }), \"\", ...lines.map(bullet)] : []),\n ...loose.length ? [\"\", ...loose.map(bullet)] : [],\n \"\",\n ...zoom(say(asked, \"open/full\"), full.flatMap((part) => [part, \"\"]).slice(0, -1))\n ]);\n};\n\n// ../provider-closure/world/dist/regions/operations.js\nvar render27 = (asked) => {\n const read = new Map(receipts(asked, \"offers\").map((line) => [of(line, \"scope\"), of(line, \"value\")]));\n const signature = (line) => {\n const [op, module] = [of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1), moduleOf(asked, line)];\n const head = module === void 0 ? void 0 : receiptValue(asked, \"source\", `source/signature/${op}`, module);\n return head === void 0 ? say(asked, \"reference/owed\") : cellText(head);\n };\n return [\n `## ${prose(asked, \"reference/operations\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/operations-table\") ?? \"\",\n \"|---|---|---|---|---|\",\n ...[...offers(asked)].sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))).map((line) => {\n const [view = \"\", op = \"\"] = steps(of(line, \"scope\")).slice(1);\n return `| ${op} | ${view} | \\`${signature(line)}\\` | ${((n) => Number.isNaN(n) ? 0 : n)(numeral(read.get(`${of(line, \"scope\")}/no-samples`)))} | ${cellText(keys(asked, of(line, \"restsOn\"))) || say(asked, \"reference/unrested\")} |`;\n })\n ];\n};\n\n// ../provider-closure/world/dist/regions/pointers.js\nvar render28 = (asked) => {\n const written = new Set(receipts(asked, \"state\").filter((one) => of(one, \"measure\") === \"fact\" && of(one, \"value\") === \"present\").map((one) => of(one, \"scope\").slice(of(one, \"scope\").indexOf(\"/\") + 1)));\n const views = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"view/\") && of(line, \"role\") === \"demands\");\n const pages = [...new Map(views.filter((view) => of(view, \"shape\").endsWith(\".md\") && of(view, \"shape\").includes(\"/\") && written.has(of(view, \"shape\"))).map((view) => [of(view, \"shape\"), view])).values()];\n const learn = pages.filter((view) => alphabet(of(view, \"value\")).members.some((token) => atResolution(token).name === \"learn\")).sort((a, b) => byBytes(of(a, \"shape\"), of(b, \"shape\")));\n const rest = pages.filter((view) => !learn.includes(view)).map((view) => [heading(asked, stem(of(view, \"shape\")).toLowerCase()), of(view, \"shape\")]).sort((a, b) => byBytes(a[0], b[0]));\n const bullets = [\n ...rest.map(([title, shape]) => `- [${title}](${shape})`),\n ...learn.length ? [`- ${say(asked, \"pointers/learn\", { pages: learn.map((view) => `[${words(asked, stem(of(view, \"shape\")))}](${of(view, \"shape\")})`).join(\", \") })}`] : []\n ];\n return resolved(asked, bullets.length ? [...section(asked, \"pointers\"), ...bullets] : []);\n};\n\n// ../provider-closure/world/dist/regions/ranges.js\nvar render29 = (asked) => {\n const one = reaches(asked, \"statement\") ? examples(asked).find((example) => example.name === stem(asked.shape)) : shortest(asked);\n const lines = reaches(asked, \"statement\") ? [] : sampled(asked, ((law) => law === void 0 ? \"\" : sample(asked, law, \"yes\").at ?? \"\")(object(asked)))?.lines ?? [];\n const cell2 = cellOfLines(lines.filter((line) => of(line, \"scope\") === of(lines[0], \"scope\"))) ?? (one === void 0 ? void 0 : cellOf(asked, one.at));\n if (cell2 === void 0)\n return [];\n const [held, alone, , forked] = states(asked);\n const apart = (i) => SPANS.inhabited(cell2.claims.filter((_, j) => j !== i).reduce((all, other) => SPANS.meet(all, other.span), SPANS.top));\n const g = spacing(asked, \"ranges\");\n const beat = (attribute, from, to) => from === void 0 || to === void 0 ? \"\" : ``;\n const [width, left, top, row] = [numeral(look(asked, \"width/figure\")), g.left, g.top, g.row];\n const right = width - g.right;\n const x = (v) => px(between(v, [cell2.hull.lo - g.pad, cell2.hull.hi + g.pad], [left, right]));\n const rows = [...cell2.claims.map((one2) => ({ label: one2.origin, ...one2.span, kind: \"claim\" })), { label: say(asked, \"cell/held-row\"), ...cell2.held, kind: \"held\" }];\n const [axis, meets] = [top + rows.length * row + g.axis, SPANS.inhabited(cell2.held)];\n const height = axis + (meets ? g.poles : g.tail);\n return [\n ``,\n `${say(asked, \"cell/title\")}`,\n `${escaped(described(asked, cell2))}`,\n ...style([css([[\"text\", { ...font(asked, \"text\", \"text\"), fill: painted(asked, \"text\").colour }]]), css([\n [\".claim\", { fill: alone?.colour }],\n [\".held\", { fill: held?.colour }],\n [\".pole\", { fill: held?.colour, \"font-weight\": look(asked, \"weight/strong\") }],\n [\".axis,.tick\", { stroke: alone?.colour, \"stroke-width\": look(asked, \"stroke/rule\") }],\n [\".touch\", { stroke: held?.colour, \"stroke-width\": look(asked, \"stroke/rule\"), \"stroke-dasharray\": look(asked, \"stroke/dash\") }]\n ])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ...meets ? [cell2.held.lo, cell2.held.hi].map((v) => ``) : [],\n ...rows.flatMap((bar, i) => [\n `${escaped(bar.label)}`,\n bar.kind === \"held\" && !meets ? `${escaped(prose(asked, \"apart\") ?? \"\")}` : ` moves2 ? `>${moves2}` : \"/>\")(bar.kind === \"held\" ? beat(\"opacity\", \"0\", \"1\") : beat(\"fill\", alone?.colour, meets ? held?.colour : apart(i) ? forked?.colour : void 0))}`\n ]),\n ``,\n ...[.../* @__PURE__ */ new Set([cell2.hull.lo, cell2.held.lo, cell2.held.hi, cell2.hull.hi])].sort((a, b) => a - b).flatMap((v) => [``, `${v}`]),\n ...meets ? [`${say(asked, \"cell/floor\")}`, `${say(asked, \"cell/ceiling\")}`] : [],\n \"\"\n ];\n};\n\n// ../provider-closure/world/dist/regions/reading.js\nvar render30 = (asked) => {\n const rows = receipts(asked, \"source\").filter((line) => of(line, \"scope\") === \"source/answers\");\n const named = (at) => rows.filter((one) => stem(placeOf(one)) === stem(at)).length > 1 ? (([last, parent = last]) => parent)([...steps(at)].reverse()) ?? stem(at) : stem(at);\n const order2 = listed(asked, \"docs/reading\");\n const rank = (name) => ((at) => at < 0 ? order2.length : at)(order2.indexOf(name));\n const answered = rows.map((line) => [named(placeOf(line)), of(line, \"value\")]).sort((a, b) => rank(a[0]) - rank(b[0])).map(([name, answer]) => say(asked, \"reading/view\", { name, answer })).filter(Boolean).map((one) => `- ${one}`);\n return answered.length ? [...titled(asked, \"reading\", [say(asked, \"reading/lead\")]), \"\", ...answered] : [];\n};\n\n// ../provider-closure/world/dist/regions/reference.js\nvar render31 = (asked) => {\n const forms = new Set(typedAs(asked, \"source/declared/\", value(asked, \"docs/forms\") ?? \"\", \"args\").map(([name, args]) => `- ${say(asked, \"reference/form\", { name, args: cellText(args) })}`));\n return [`# ${prose(asked, \"reference/heading\") ?? \"\"}`, \"\", say(asked, \"reference/lead\", { operations: offers(asked).length, laws: laws(asked).filter((line) => of(line, \"form\") !== \"formula\").length, forms: forms.size })];\n};\n\n// ../provider-closure/world/dist/regions/refuses.js\nvar render32 = (asked) => {\n const told = refusedCases(asked);\n const here = folder(asked.shape);\n const captured2 = told.map((one) => `- ${one.name}: ${one.why || one.input}`).filter((one) => one.length > 3);\n if (captured2.length) {\n return resolved(asked, [...section(asked, \"refuses\"), ...say(asked, \"refuses/lead\") ? [say(asked, \"refuses/lead\")] : [], \"\", ...captured2]);\n }\n const kept = laws(asked).filter((line) => of(line, \"kind\") !== \"conjecture\" && sample(asked, line, \"no\").recorded).sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\")));\n const law = kept.find((line) => of(line, \"scope\") === value(asked, \"notation/object\")) ?? kept[0];\n const no = law === void 0 ? void 0 : sample(asked, law, \"no\");\n const said = [law === void 0 ? \"\" : say(asked, \"refuses/lead\", { law: lawName(asked, law), at: relative(here, no?.at ?? \"\") })].filter(Boolean);\n return said.length ? resolved(asked, [\n ...section(asked, \"refuses\"),\n ...said,\n ...no?.about?.length ? [\"\", ...zoom(say(asked, \"refuses/full\"), no.about.flatMap((line) => [line, \"\"]).slice(0, -1))] : []\n ]) : [];\n};\n\n// ../provider-closure/world/dist/regions/regions.js\nvar rules = (asked) => ((held) => !held.length ? [] : [\n `# ${prose(asked, \"regions/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"regions/laws\", { count: count(asked, held.length, true) }),\n \"\",\n prose(asked, \"regions/laws-table\") ?? \"\",\n \"|---|---|\",\n ...held.map((line) => `| ${steps(steps(of(line, \"scope\")).slice(1))} | ${cellText(of(line, \"about\"))} |`)\n])(asked.lines.filter((line) => of(line, \"scope\").startsWith(\"audit/\") && of(line, \"role\") === \"demands\" && of(line, \"about\") !== \"\").sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))));\nvar render33 = (asked) => {\n const own = [...asked.lines, ...regionLines(asked, \"capsule\")];\n const said = (scope, measure) => own.filter((line) => of(line, \"scope\") === scope && (measure === void 0 || of(line, \"measure\") === measure)).flatMap((line) => alphabet(of(line, \"value\")).members);\n const names = [...new Set(own.filter((line) => of(line, \"scope\").startsWith(\"region/\") && of(line, \"measure\") === \"reads\" || of(line, \"scope\").startsWith(\"capsule/reads/\")).map((line) => of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1)))].sort();\n return resolved(asked, !names.length ? rules(asked) : [\n `# ${prose(asked, \"regions/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"regions/lead\", { count: count(asked, names.length, true), effects: listOf(asked, said(\"capsule/effects\")) || alphabet({ polarity: \"permit\", members: [] }) }),\n \"\",\n prose(asked, \"regions/table\") ?? \"\",\n \"|---|---|---|\",\n ...names.map((name) => `| ${name} | ${cellText([...said(`region/${name}`, \"reads\"), ...said(`capsule/reads/${name}`)].join(\" \\xB7 \"))} | ${cellText([...said(`region/${name}`, \"writes\"), ...said(`capsule/writes/${name}`)].join(\" \\xB7 \")) || say(asked, \"regions/leaf\")} |`)\n ]);\n};\n\n// ../provider-closure/world/dist/regions/rested-on-by.js\nvar render34 = (asked) => {\n const said = receipts(asked, \"state\").filter((line) => of(line, \"scope\").startsWith(\"rested/\"));\n const field = (place, name) => of(said.find((line) => of(line, \"scope\") === `rested/${place}/${name}`), \"value\");\n const places = [...new Set(said.map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))].filter((place) => field(place, \"source\")).sort(byBytes);\n return resolved(asked, places.length ? [...section(asked, \"rested\"), ...places.map((place) => `- ${say(asked, \"rested/place\", { place, repository: field(place, \"repository\") })}${field(place, \"what\") ? ` \\xB7 ${say(asked, \"rested/what\", { repository: field(place, \"repository\"), what: field(place, \"what\") })}` : \"\"}`)] : []);\n};\n\n// ../provider-closure/world/dist/regions/the-object.js\nvar machine = (asked) => {\n const [drawn3, renders] = [moves(asked), pairs(asked, \"notation/renders\")];\n if (drawn3 === void 0)\n return [];\n const colours = renders.flatMap(([state3, name]) => /* @__PURE__ */ ((colour) => colour === void 0 ? [] : [[state3, name, colour]])(painted(asked, state3).colour));\n return [\n \"```mermaid\",\n \"stateDiagram-v2\",\n ...renders.map(([state3, name]) => ` state \"${state3} \\xB7 ${name}\" as ${state3}`),\n ...drawn3.map((move) => ` ${move.from} --> ${move.to}${move.dangerous ? `: ${say(asked, \"states/dangerous\")}` : move.why ? `: ${move.why}` : \"\"}`),\n ...colours.flatMap(([, name, colour]) => classDef(name, colour, painted(asked, \"text-on\").colour)),\n ...colours.map(([state3, name]) => ` class ${state3} ${name}`),\n \"```\"\n ];\n};\nvar rests = (asked) => {\n const [held, on] = [object(asked), alphabet(of(object(asked), \"restsOn\")).members];\n if (held === void 0 || !on.length || !resting(asked, of(held, \"scope\")).length)\n return [];\n const colour = states(asked)[0]?.colour;\n return [\n `## ${prose(asked, \"reference/rests\") ?? \"\"}`,\n \"\",\n \"```mermaid\",\n \"flowchart BT\",\n ` o([\"${lawName(asked, held)}\"])`,\n ...on.map((scope, i) => ` r${i}([\"${labelOf(asked, scope)}\"])`),\n ...on.map((_, i) => ` o --> r${i}`),\n ...classDef(\"object\", colour, painted(asked, \"text-on\").colour),\n \" class o object\",\n \"```\"\n ];\n};\nvar render35 = (asked) => {\n if (reaches(asked, \"whole\"))\n return [`## ${prose(asked, \"reference/states\") ?? \"\"}`, \"\", ...machine(asked), \"\", ...rests(asked)];\n const head = tuple(asked);\n const written = head === void 0 ? [] : [\"```text\", head, ...aligned(asked), \"```\"];\n const [glyphs, rows] = [new Map(pairs(asked, \"notation/renders\").map(([state3]) => [state3, painted(asked, state3).glyph ?? \"\"])), pairs(asked, \"notation/states\")];\n const seen = /* @__PURE__ */ new Set();\n const unique = rows.filter(([, state3]) => seen.has(state3) ? false : (seen.add(state3), true));\n const [width, widest, gap] = [hull([0, ...unique.map(([when]) => when.length)]).hi, hull([0, ...unique.map(([, state3]) => state3.length)]).hi, spacing(asked, \"table/gap\")];\n const table2 = unique.length ? [\"```text\", ...unique.map(([when, state3]) => `${when.padEnd(width + gap.state)}${state3.padEnd(widest + gap.glyph)}${glyphs.get(state3) ?? \"\"}`), \"```\"] : [];\n return resolved(asked, !written.length && !table2.length ? [] : [`## ${prose(asked, \"the-object/heading\") ?? \"\"}`, \"\", ...written, ...table2.length ? [\"\", ...table2] : []]);\n};\n\n// ../provider-closure/world/dist/regions/the-paper.js\nvar render36 = (asked) => {\n const reference = (one) => {\n const doi = value(asked, \"sources/doi\") === void 0 ? void 0 : one.field(\"doi\");\n const address = doi === void 0 ? one.field(\"address\") : `${value(asked, \"sources/doi\")}${doi}`;\n const [authors, year, version, publisher] = [alphabet(one.field(\"author\") ?? \"\").members, one.field(\"year\"), one.field(\"version\"), one.field(\"publisher\")];\n return address === void 0 ? void 0 : [\n authors.length > 1 ? `${authors.slice(0, -1).join(\", \")}${say(asked, \"cite/and\")}${authors[authors.length - 1]}` : authors[0],\n year === void 0 ? void 0 : `(${year}).`,\n `${version === void 0 ? one.title : say(asked, \"cite/versioned\", { title: one.title, version })}.`,\n publisher === void 0 ? void 0 : `${publisher}.`,\n address\n ].filter(Boolean).join(\" \");\n };\n return resolved(asked, titled(asked, \"the-paper\", [...parted(asked, \"paper\"), ...entries(asked, \"cites\").flatMap((one) => reference(one) ?? [])]));\n};\n\n// ../provider-closure/world/dist/regions/units.js\nvar render37 = (asked) => [\n `## ${prose(asked, \"reference/units\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/units-table\") ?? \"\",\n \"|---|---|\",\n ...[...new Set(typedAs(asked, \"source/returns/\", value(asked, \"docs/units\") ?? \"\", \"params\").map(([name, params]) => `| ${name} | \\`${cellText(params)}\\` |`))].sort()\n];\n\n// ../provider-closure/world/dist/regions/what-holds.js\nvar table = (asked) => {\n const read = new Map(receipts(asked, \"laws\").map((line) => [of(line, \"scope\"), of(line, \"value\")]));\n const here = asked.shape.slice(0, asked.shape.lastIndexOf(\"/\"));\n const reproduced = (line) => ((got) => got === void 0 ? say(asked, \"reference/underived\") : say(asked, numeral(got) === 1 ? \"reference/yes\" : \"reference/no\"))([...read].find(([scope]) => scope.endsWith(`/${lawKey(line)}/reproduced`))?.[1]);\n const row = (line) => {\n const [yes, no, formula] = [sample(asked, line, \"yes\"), sample(asked, line, \"no\"), of(laws(asked).find((one) => of(one, \"form\") === \"formula\" && of(one, \"scope\").startsWith(`${of(line, \"scope\")}/`)), \"value\")];\n return `| ${lawKey(line)} | ${of(line, \"kind\") || say(asked, \"reference/unkinded\")} | ${of(line, \"view\") || say(asked, \"reference/any\")} | ${cellText(keys(asked, of(line, \"restsOn\"))) || say(asked, \"reference/nothing\")} | ${cellText(of(line, \"about\"))} | ${formula ? `\\`${cellText(formula)}\\`` : \"\"} | ${yes.recorded && yes.at ? `[${say(asked, \"reference/yes\")}](${relative(here, yes.at)})` : say(asked, \"reference/none\")} | ${cellText((no.about ?? [])[0] ?? say(asked, \"reference/derived\"))} | ${reproduced(line)} |`;\n };\n return [\n `## ${prose(asked, \"reference/laws\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/laws-table\") ?? \"\",\n \"|---|---|---|---|---|---|---|---|---|\",\n ...laws(asked).filter((line) => of(line, \"form\") !== \"formula\").sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))).map(row)\n ];\n};\nvar render38 = (asked) => {\n if (reaches(asked, \"whole\"))\n return table(asked);\n const rests2 = /* @__PURE__ */ new Map();\n for (const line of laws(asked))\n for (const on of alphabet(of(line, \"restsOn\")).members)\n rests2.set(on, (rests2.get(on) ?? 0) + 1);\n const held = laws(asked).filter((line) => of(line, \"kind\") === \"axiom\");\n if (!held.length)\n return [];\n const spelled = ((said) => said === void 0 ? 0 : numeral(said))(value(asked, \"docs/what-holds\"));\n const leaned = [...held].sort((a, b) => (rests2.get(of(b, \"scope\")) ?? 0) - (rests2.get(of(a, \"scope\")) ?? 0));\n const [rest, measured] = [held.filter((line) => !leaned.slice(0, spelled).includes(line)), lawAt(asked, value(asked, \"docs/measured\") ?? \"\")];\n return resolved(asked, [\n ...titled(asked, \"what-holds\", [\n say(asked, \"what-holds/lead\", { count: count(asked, held.length), spelled: count(asked, spelled, true) }),\n ...leaned.slice(0, spelled).map((line) => say(asked, \"what-holds/axiom\", { sentence: sentence(asked, of(line, \"about\")), name: lawName(asked, line), rests: rests2.get(of(line, \"scope\")) ?? 0 }))\n ]),\n ...rest.length ? [\"\", ...zoom(say(asked, \"what-holds/others\", { count: count(asked, rest.length) }), rest.map((line) => `- ${say(asked, \"what-holds/other\", { name: lawName(asked, line), about: of(line, \"about\") })}`))] : [],\n ...measured === void 0 ? [] : [\"\", say(asked, \"what-holds/measured\", { sentence: sentence(asked, of(measured, \"about\")), measured: (sample(asked, measured, \"yes\").about ?? []).slice(-1)[0] ?? \"\" }).trim()]\n ]);\n};\n\n// ../provider-closure/world/dist/regions/wire.js\nvar render39 = (asked) => {\n const [rules2, names, corpus] = [listed(asked, \"wire/rules\"), listed(asked, \"wire/reference\"), listed(asked, \"wire/corpus\")];\n if (!rules2.length && !names.length && !corpus.length)\n return [];\n const tokens = Object.fromEntries(pairs(asked, \"wire/tokens\"));\n const signed = (name) => of(receipts(asked, \"source\").find((one) => of(one, \"scope\") === `source/signature/${name}`), \"value\");\n const held = (name) => of(receipts(asked, \"vectors\").find((one) => of(one, \"scope\") === `vector/${name}`), \"value\");\n const reference = names.map((name) => `| \\`${name}\\` | \\`${cellText(signed(name))}\\` |`);\n return resolved(asked, [\n `# ${prose(asked, \"wire/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"wire/lead\", tokens),\n ...rules2.flatMap((rule2) => [\"\", ...titled(asked, `wire/${rule2}`, [say(asked, `wire/${rule2}`, tokens)])]),\n \"\",\n ...titled(asked, \"wire/reference\", [[prose(asked, \"wire/reference/table\") ?? \"\", \"|---|---|\", ...reference].join(\"\\n\")]),\n \"\",\n ...titled(asked, \"wire/corpus\", [corpus.map((name) => `- \\`vector/${name}\\` \\xB7 ${held(name)}`).join(\"\\n\")])\n ]);\n};\n\n// ../provider-closure/world/dist/regions/say.js\nvar render40 = (asked) => {\n const lines = asked.lines.filter((one) => {\n const scope = of(one, \"scope\");\n return (scope === `page/${asked.region}` || scope.startsWith(`page/${asked.region}/`)) && of(one, \"value\") !== \"withdraw\" && of(one, \"about\") !== \"\";\n });\n if (!lines.length)\n return [];\n const out = [];\n let heading2 = \"\";\n for (const line of lines) {\n const cap = of(line, \"shape\");\n if (cap && cap !== heading2 && !cap.includes(\".\")) {\n heading2 = cap;\n out.push(`## ${cap}`, \"\");\n }\n const strength = of(line, \"kind\") || \"declared\";\n out.push(`${sentence(asked, of(line, \"about\"))} \\xB7 ${strength}`);\n }\n return resolved(asked, out);\n};\n\n// ../provider-closure/world/dist/regions/term.js\nvar render41 = (asked) => {\n const line = asked.lines.find((one) => of(one, \"scope\").startsWith(\"term/\") && of(one, \"value\") !== \"withdraw\") ?? found(asked, `term/${asked.region}`) ?? found(asked, \"notation/object\");\n const word = of(line, \"value\");\n const meaning = of(line, \"about\");\n return !word && !meaning ? [] : resolved(asked, [`**${word}**${meaning ? ` \\u2014 ${meaning}` : \"\"}`]);\n};\n\n// ../provider-closure/world/dist/regions/count.js\nvar render42 = (asked) => {\n const receipts2 = Object.values(asked.regions).flatMap((region) => region.receipts);\n const named = asked.lines.filter((one) => of(one, \"scope\").startsWith(`page/${asked.region}/`) && of(one, \"value\") !== \"withdraw\").flatMap((one) => {\n const scope = of(one, \"scope\").slice(`page/${asked.region}/`.length);\n const matches2 = receipts2.filter((line) => of(line, \"scope\") === scope);\n if (matches2.length !== 1)\n return [];\n const got = of(matches2[0], \"value\");\n return got ? [`${of(one, \"about\") || scope} ${got}`] : [];\n });\n return resolved(asked, named);\n};\n\n// ../provider-closure/world/dist/regions/seq.js\nvar render43 = (asked) => {\n const lines = asked.lines.filter((one) => of(one, \"scope\").startsWith(`page/${asked.region}/`) && of(one, \"about\") !== \"\" && of(one, \"value\") !== \"withdraw\" && !of(one, \"scope\").endsWith(\"/heading\"));\n const steps2 = lines.length ? lines.map((one) => of(one, \"about\")) : alphabet(of(asked.regions[\"path\"]?.receipts.find((line) => of(line, \"scope\") === \"path/steps\") ?? {}, \"value\")).members.filter((one) => one !== \"none\");\n if (!steps2.length)\n return [];\n const heading2 = of(asked.lines.find((one) => of(one, \"scope\") === `page/${asked.region}/heading`), \"about\") || prose(asked, \"seq/heading\");\n return resolved(asked, [...heading2 ? [`## ${heading2}`, \"\"] : [], ...steps2.map((step, i) => `${i + 1}. ${step}`)]);\n};\n\n// ../provider-closure/world/dist/regions/exchange.js\nvar render44 = (asked) => {\n const held = examples(asked);\n const said = asked.lines.filter((one) => of(one, \"scope\").startsWith(`page/${asked.region}/`) && of(one, \"about\") !== \"\" && of(one, \"value\") !== \"withdraw\" && !of(one, \"scope\").endsWith(\"/heading\"));\n if (!held.length && !said.length)\n return [];\n const heading2 = of(asked.lines.find((one) => of(one, \"scope\") === `page/${asked.region}/heading`), \"about\");\n return resolved(asked, [\n ...heading2 ? [`## ${heading2}`, \"\"] : section(asked, \"exchange\"),\n ...held.flatMap((one, i) => [...i ? [\"\"] : [], ...glance(asked, one, folder(asked.shape))]),\n ...said.map((one) => of(one, \"about\"))\n ]);\n};\n\n// ../provider-closure/world/dist/regions/set.js\nvar render45 = (asked) => {\n const pins = alphabet(receiptValue(asked, \"rests\", \"rests-on/pins\") ?? \"\").members.filter((one) => one !== \"none\");\n const fromUses = asked.lines.filter((one) => of(one, \"scope\").startsWith(\"uses/\") && of(one, \"value\") !== \"withdraw\").map((one) => of(one, \"scope\").slice(\"uses/\".length).split(\"/\")[0] ?? \"\").filter(Boolean);\n const regions = alphabet(receiptValue(asked, \"rests\", \"rests-on/regions\") ?? \"\").members.filter((one) => one !== \"none\");\n const pinsHeld = [.../* @__PURE__ */ new Set([...pins, ...fromUses])];\n const members = [...pinsHeld.map((name) => ({ kind: \"pin\", name })), ...regions.map((name) => ({ kind: \"region\", name }))];\n if (!members.length)\n return [];\n return resolved(asked, [\n ...section(asked, \"set\"),\n \"| | |\",\n \"|---|---|\",\n ...members.map((one) => `| ${cellText(one.kind)} | ${cellText(one.name)} |`)\n ]);\n};\n\n// ../provider-closure/world/dist/regions/cell.js\nvar render46 = (asked) => {\n const lines = declaredSample(asked, figured(asked, asked.region, 1)[0]);\n const groups = /* @__PURE__ */ new Map();\n for (const line of lines) {\n const scope = of(line, \"scope\");\n const group = groups.get(scope) ?? [];\n group.push(line);\n groups.set(scope, group);\n }\n return [...groups.values()].flatMap((group) => {\n const cell2 = cellOfLines(group);\n if (cell2 === void 0)\n return [];\n const text = described(asked, cell2) || captioned(asked, cell2);\n return text ? [text] : [];\n });\n};\n\n// ../provider-closure/world/dist/regions/ref.js\nvar render47 = (asked) => {\n const views = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"view/\") && of(line, \"shape\").endsWith(\".md\"));\n const here = folder(asked.shape);\n const links = views.map((line) => {\n const at = of(line, \"shape\");\n const title = of(line, \"shape\").replace(/^.*\\//, \"\").replace(/\\.md$/, \"\") || of(line, \"scope\").slice(\"view/\".length);\n return `- [${title}](${relative(here, at)})`;\n });\n return links.length ? resolved(asked, links) : [];\n};\n\n// ../provider-closure/world/dist/regions/group.js\nvar render48 = (asked) => {\n const lines = asked.lines.filter((one) => {\n const scope = of(one, \"scope\");\n return (scope === `page/${asked.region}` || scope.startsWith(`page/${asked.region}/`)) && of(one, \"about\") !== \"\" && of(one, \"value\") !== \"withdraw\";\n });\n if (!lines.length)\n return [];\n return resolved(asked, lines.map((line) => {\n const scope = of(line, \"scope\");\n const mark2 = scope.endsWith(\"/title\") ? \"#\" : \"##\";\n return `${mark2} ${of(line, \"about\")}`;\n }));\n};\n\n// ../provider-closure/world/dist/index.js\nvar render49 = shell({ \"alphabet\": { reads: [\"lang\", \"prose/*/reference/*\", \"notation/*\"], region: render }, \"bond\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cell/*\", \"prose/*/apart\", \"notation/claim\", \"notation/renders\", \"examples/*\", \"region/examples\", \"region/source\", \"form/style/**\"], region: render2 }, \"cff\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cff/*\", \"cites/*\", \"name\", \"version\", \"author\", \"repository\", \"license\", \"sources/doi\", \"form/page/**\"], region: render3 }, \"check\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/check/*\", \"notation/renders\", \"fold\", \"repository\", \"repository/resolved\", \"check\", \"region/cases\", \"form/style/**\", \"form/page/**\"], region: render4 }, \"claims\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/claims/*\", \"claims/*\", \"dependencies\", \"audit/*\", \"region/state\", \"region/cases\", \"region/laws\", \"region/offers\", \"region/vectors\", \"region/examples\", \"form/page/**\"], region: render5 }, \"commands\": { reads: [\"lang\", \"prose/*/commands\", \"region/captures\", \"form/page/**\"], region: render6 }, \"door\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/door/*\", \"prose/*/cell/*\", \"prose/*/apart\", \"docs/what\", \"view/*\", \"notation/claim\", \"examples/*\", \"region/examples\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render7 }, \"figure\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cell/*\", \"prose/*/apart\", \"prose/*/marks\", \"view/*\", \"notation/claim\", \"examples/*\", \"region/examples\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render8 }, \"figure-fold\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"prose/*/cell/*\", \"form/figure/*\", \"notation/renders\", \"view/*\", \"samples/*\", \"region/laws\", \"form/style/**\"], region: render9 }, \"figure-line\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"form/figure/*\", \"notation/renders\", \"view/*\", \"samples/*\", \"region/laws\", \"form/style/**\"], region: render10 }, \"figure-refuses\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"notation/renders\", \"view/*\", \"region/vectors\", \"form/style/**\"], region: render11 }, \"figure-world\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"notation/renders\", \"view/*\", \"uses/*\", \"docs/world\", \"examples/*\", \"region/capsule\", \"region/examples\", \"region/source\", \"region/vectors\", \"form/runtime/*/regions\", \"form/style/**\"], region: render12 }, \"first-use\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/first-use/*\", \"prose/*/example/*\", \"examples/*\", \"region/examples\", \"form/runtime/*/run\", \"prose/*/figure/learn/*\", \"form/page/**\"], region: render13 }, \"forms\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reference/*\", \"docs/forms\", \"region/source\"], region: render14 }, \"guide-at-zero\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/guide/*\", \"prose/*/contributing\", \"check\", \"region/laws\", \"form/page/**\"], region: render15 }, \"hero\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/what\", \"prose/*/badge/*\", \"docs/logo\", \"docs/badges\", \"name\", \"notation/renders\", \"sources/*\", \"dependencies\", \"version\", \"license\", \"engines\", \"cites/*\", \"region/cases\", \"region/state\", \"docs/tagline\", \"form/style/**\", \"audit/wire/badges/world\"], region: render16 }, \"how-they-rest\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/rests/*\", \"prose/*/door/*\", \"name\", \"dependencies\", \"uses/*\", \"dep/**\", \"*/name\", \"*/dependencies\"], region: render17 }, \"idea\": { reads: [\"lang\", \"prose/*/idea\", \"prose/*/idea/*\", \"form/page/**\"], region: render18 }, \"install\": { reads: [\"install\", \"name\", \"uses/*\", \"sources/*\", \"host/resolve\", \"form/page/**\"], region: render20 }, \"line\": { reads: [\"sources/*\", \"uses/*\", \"host/resolve\", \"form/page/**\"], region: render19 }, \"learn\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/learn/**\", \"prose/*/cell/*\", \"prose/*/example/*\", \"prose/*/apart\", \"notation/*\", \"view/*\", \"examples/*\", \"region/examples\", \"region/source\", \"region/offers\", \"region/laws\", \"docs/learn\", \"form/runtime/*/run\", \"prose/*/figure/learn/*\", \"form/style/**\", \"form/page/**\"], region: render21 }, \"license\": { reads: [\"license\", \"form/page/**\"], region: render22 }, \"media\": { reads: [\"form/template/**\", \"form/style/**\", \"form/page/**\", \"media/**\"], region: render23 }, \"notation\": { reads: [\"lang\", \"form/prose/**\", \"prose/*/notation/*\", \"prose/*/reference/*\", \"notation/*\", \"region/laws\", \"region/offers\", \"region/source\", \"form/page/**\"], region: render24 }, \"open\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/open/*\", \"samples/*\", \"region/laws\", \"region/state\", \"form/page/**\"], region: render25 }, \"open-conjectures\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/open/*\", \"open/who\", \"samples/*\", \"region/laws\", \"form/page/**\"], region: render26 }, \"operations\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reference/*\", \"region/laws\", \"region/offers\", \"region/source\"], region: render27 }, \"pointers\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/pointers/*\", \"view/*\", \"region/state\", \"form/page/**\"], region: render28 }, \"ranges\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cell/*\", \"prose/*/apart\", \"notation/claim\", \"notation/renders\", \"notation/object\", \"examples/*\", \"samples/*\", \"region/examples\", \"region/laws\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render29 }, \"reading\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reading/*\", \"region/source\", \"docs/reading\"], region: render30 }, \"reference\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reference/*\", \"docs/forms\", \"region/laws\", \"region/offers\", \"region/source\"], region: render31 }, \"refuses\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/refuses/*\", \"notation/object\", \"samples/*\", \"region/laws\", \"region/vectors\", \"region/captures\", \"form/page/**\"], region: render32 }, \"regions\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/regions/*\", \"capsule/**\", \"audit/*\", \"region/**\", \"region/capsule\", \"form/page/**\"], region: render33 }, \"rested-on-by\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/rested/*\", \"region/state\", \"form/page/**\"], region: render34 }, \"the-object\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/the-object/*\", \"prose/*/reference/*\", \"prose/*/states/*\", \"notation/*\", \"region/laws\", \"region/offers\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render35 }, \"the-paper\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/paper\", \"prose/*/the-paper/*\", \"prose/*/cite/*\", \"cites/*\", \"sources/doi\", \"form/page/**\"], region: render36 }, \"units\": { reads: [\"lang\", \"prose/*/reference/*\", \"docs/units\", \"region/source\"], region: render37 }, \"what-holds\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/what-holds/*\", \"prose/*/reference/*\", \"docs/what-holds\", \"docs/measured\", \"samples/*\", \"region/laws\", \"form/page/**\"], region: render38 }, \"wire\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/wire/*\", \"prose/*/wire/*/*\", \"wire/*\", \"region/source\", \"region/vectors\", \"form/page/**\"], region: render39 }, \"say\": { reads: [\"lang\", \"page/**\", \"law/**\", \"docs/tagline\", \"form/page/**\", \"prose/**\"], region: render40 }, \"term\": { reads: [\"lang\", \"page/**\", \"term/**\", \"notation/**\", \"form/page/**\"], region: render41 }, \"count\": { reads: [\"lang\", \"name\", \"dependencies\", \"region/cases\", \"region/state\", \"form/page/**\", \"page/**\", \"prose/*/badge/**\"], region: render42 }, \"seq\": { reads: [\"lang\", \"page/**\", \"examples/*\", \"region/examples\", \"form/page/**\"], region: render43 }, \"exchange\": { reads: [\"lang\", \"page/**\", \"examples/*\", \"region/examples\", \"form/page/**\", \"form/runtime/*/run\", \"prose/*/figure/learn/*\"], region: render44 }, \"set\": { reads: [\"lang\", \"page/**\", \"uses/*\", \"dep/**\", \"region/state\", \"form/page/**\"], region: render45 }, \"cell\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"prose/*/cell/*\", \"form/figure/*\", \"notation/renders\", \"view/*\", \"samples/*\", \"region/laws\", \"form/style/**\", \"examples/*\", \"region/examples\", \"region/source\", \"region/vectors\", \"region/capsule\", \"docs/world\", \"uses/*\", \"form/runtime/*/regions\"], region: render46 }, \"ref\": { reads: [\"lang\", \"view/*\", \"form/page/**\"], region: render47 }, \"group\": { reads: [\"lang\", \"page/**\", \"prose/**\", \"form/page/**\"], region: render48 } });\nvar receipt2 = receiptShell({ \"unreceipted\": { reads: [\"lang\", \"prose/*/commands\", \"prose/*/idea\", \"region/state\", \"region/captures\", \"form/page/**\"], region: receipt } });\nexport {\n receipt2 as receipt,\n render49 as render\n};\n", + "providerDigest": "sha256:3c4bb28406ae7f56a8946ead2236a327fdaa29a44d05ae0ccf50af292c1f53ab", + "provenance": { + "artifact": "sha256:04feef01a8c59cae7ea842198d1faf0091b424129872a847b41c7da0bca6fabf", + "member": "dist/index.js", + "fixtureOnly": true, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) 2026 Lapxo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n" + }, + "regions": [ + { + "name": "cff", + "reads": "lang|form/prose/**|form/template/**|prose/*/cff/*|cites/*|name|version|author|repository|license|sources/doi|form/page/**" + }, + { + "name": "seq", + "reads": "lang|page/**|examples/*|region/examples|form/page/**" + }, + { + "name": "term", + "reads": "lang|page/**|term/**|notation/**|form/page/**" + }, + { + "name": "set", + "reads": "lang|page/**|uses/*|dep/**|region/state|form/page/**" + }, + { + "name": "ref", + "reads": "lang|view/*|form/page/**" + }, + { + "name": "commands", + "reads": "lang|prose/*/commands|region/captures|form/page/**" + }, + { + "name": "hero", + "reads": "lang|form/prose/**|form/template/**|prose/*/what|prose/*/badge/*|docs/logo|docs/badges|name|notation/renders|sources/*|dependencies|version|license|engines|cites/*|region/cases|region/state|docs/tagline|form/style/**|audit/wire/badges/world" + }, + { + "name": "idea", + "reads": "lang|prose/*/idea|prose/*/idea/*|form/page/**" + }, + { + "name": "refuses", + "reads": "lang|form/prose/**|form/template/**|prose/*/refuses/*|notation/object|samples/*|region/laws|region/vectors|region/captures|form/page/**" + }, + { + "name": "what-holds", + "reads": "lang|form/prose/**|form/template/**|prose/*/what-holds/*|prose/*/reference/*|docs/what-holds|docs/measured|samples/*|region/laws|form/page/**" + } + ], + "wire": [ + [ + "fields", + "scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn" + ], + [ + "required", + "scope|role|form|measure|value|by|at" + ], + [ + "forms", + "alphabet|interval" + ], + [ + "families", + "keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build" + ], + [ + "roles", + "reads|writes|demands" + ], + [ + "at-classes", + "policy|place|origin|witness|receipt" + ], + [ + "era", + "sample" + ], + [ + "signature-algorithms", + "ed25519:sample" + ], + [ + "digest-algorithms", + "sha256" + ], + [ + "region-measures", + "coordinates|leaves|reads|receipts" + ] + ], + "places": [ + { + "name": "specimen-register", + "version": "1.4.2", + "term": "specimen", + "meaning": "An item assigned a local identifier.", + "heading": "Prepare the register", + "steps": [ + "Assign a local identifier.", + "Record the observed properties." + ], + "buildOptions": { + "target": "ES2022", + "strict": "true", + "declaration": "true", + "include": "src/**/*.ts|types/**/*.ts" + }, + "idea": "Keep independent readings of specimen-register visible.", + "ideaHeading": "Reading specimen-register", + "tagline": "A declared place for specimen-register.", + "outputs": [ + { + "view": "usage-profile", + "path": "notes.md", + "body": "# Observations\n\nA field note belongs to its place.\n" + }, + { + "view": "manifest-render", + "path": "manifest.json", + "body": "{\"name\":\"field-notes\"}\n" + }, + { + "view": "release-workflow-render", + "path": "process.yml", + "body": "name: field-work\non: push\n" + } + ] + }, + { + "name": "route-notes", + "version": "3.2.1", + "term": "stop", + "meaning": "A location named in an itinerary.", + "heading": "Prepare the itinerary", + "steps": [ + "Name the intended stops.", + "Record each connection." + ], + "buildOptions": { + "target": "ES2020", + "strict": "false", + "module": "NodeNext", + "include": "lib/**/*.ts" + }, + "idea": "Keep independent readings of route-notes visible.", + "ideaHeading": "Reading route-notes", + "tagline": "A declared place for route-notes.", + "outputs": [ + { + "view": "usage-profile", + "path": "catalogue.md", + "body": "# Collection\n\nAn item keeps its provenance.\n" + }, + { + "view": "manifest-render", + "path": "catalogue.json", + "body": "{\"name\":\"collection\"}\n" + }, + { + "view": "release-workflow-render", + "path": "catalogue.yml", + "body": "name: catalogue\non: push\n" + } + ] + } + ], + "buildProvider": { + "providerSource": "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n render: () => render\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// node_modules/@lapxo/topos/dist/capsule/asked.js\nvar of = (line, field) => line?.[field] ?? \"\";\nvar found = (asked, scope) => asked.lines.find((line) => of(line, \"scope\") === scope);\nvar value = (asked, scope) => found(asked, scope) === void 0 ? void 0 : of(found(asked, scope), \"value\");\nvar listed = (asked, scope) => (value(asked, scope) ?? \"\").split(\"|\").filter(Boolean);\nvar lang = (asked) => value(asked, \"lang\") ?? \"\";\nvar at = (asked, scope) => ((line) => line === void 0 ? void 0 : of(line, \"value\"))(asked.lines.find((line) => of(line, \"scope\") === scope && of(line, \"shape\") === asked.shape));\nvar under = (asked, head) => asked.lines.filter((line) => of(line, \"shape\") === asked.shape && (of(line, \"scope\") === head || of(line, \"scope\").startsWith(`${head}/`))).map((line) => [of(line, \"scope\").slice(head.length + (of(line, \"scope\") === head ? 0 : 1)), of(line, \"value\")]).sort((a, b) => a[0] === \"\" ? -1 : b[0] === \"\" ? 1 : a[0].localeCompare(b[0]));\nvar json = (held) => `${JSON.stringify(held, null, 2)}\n`.split(\"\\n\").slice(0, -1);\nvar truth = (text) => text === \"true\" ? true : text === \"false\" ? false : text;\nvar sentence = (asked, text) => {\n const rule = listed(asked, `form/prose/${lang(asked)}/sentence`);\n let end = text.length;\n while (end > 0 && \".;:, \\n\".includes(text.charAt(end - 1)))\n end -= 1;\n const start = rule.includes(\"capital\") ? `${text.charAt(0).toUpperCase()}${text.slice(1, end)}` : text.slice(0, end);\n return rule.includes(\"period\") ? `${start}.` : start;\n};\n\n// node_modules/@lapxo/topos/dist/capsule/shell.js\nfunction shell(regions) {\n return (asked) => {\n const one = regions[asked.region];\n if (one === void 0)\n throw new Error(`REFUSE\\xB7region ${asked.region}: no line of this capsule renders it`);\n const short = one.reads.filter((read) => !asked.reads.includes(read));\n if (short.length)\n throw new Error(`REFUSE\\xB7region ${asked.region}: handed less than it declares, without ${short.join(\" \\xB7 \")}`);\n return one.region(asked);\n };\n}\n\n// src/regions/build.ts\nvar build = (asked) => {\n const options = under(asked, \"build\").filter(([name]) => name !== \"\");\n const include = options.find(([name]) => name === \"include\")?.[1];\n return json({ compilerOptions: Object.fromEntries(options.filter(([name]) => name !== \"include\").map(([name, held]) => [name, truth(held)])), ...include === void 0 ? {} : { include: include.split(\"|\") } });\n};\n\n// src/regions/manifest.ts\nvar versioned = (text) => Object.fromEntries((text ?? \"\").split(\"|\").filter(Boolean).map((one) => [one.slice(0, one.lastIndexOf(\"@\")), one.slice(one.lastIndexOf(\"@\") + 1)]));\nvar manifest = (asked) => {\n const [subpaths, bins, source, what] = [under(asked, \"exports\"), under(asked, \"bin\").filter(([name]) => name !== \"\"), at(asked, \"source\"), found(asked, `prose/${lang(asked)}/what`)];\n const resolved = (built) => ({ ...source ? { source: `./${source}${built.slice(built.indexOf(\"/\"))}.ts` } : {}, types: `./${built}.d.ts`, default: `./${built}.js` });\n const [repository, kind, side] = [at(asked, \"repository\"), at(asked, \"type\"), at(asked, \"sideEffects\")];\n return json({\n name: at(asked, \"name\"),\n version: at(asked, \"version\"),\n description: what === void 0 ? void 0 : sentence(asked, of(what, \"about\")),\n ...kind ? { type: kind } : {},\n license: at(asked, \"license\"),\n author: at(asked, \"author\"),\n ...repository ? { repository: { type: \"git\", url: `git+${repository}.git` } } : {},\n keywords: (at(asked, \"keywords\") ?? \"\").split(\"|\").filter(Boolean),\n ...side === void 0 ? {} : { sideEffects: truth(side) },\n engines: { node: at(asked, \"engines\") },\n exports: { ...Object.fromEntries(subpaths.map(([sub, built]) => [sub === \"\" ? \".\" : `./${sub}`, resolved(built)])), [`./${asked.shape}`]: `./${asked.shape}` },\n ...bins.length ? { bin: Object.fromEntries(bins.map(([name, built]) => [name, `./${built}.js`])) } : {},\n files: listed(asked, \"audit/wire/ships\"),\n scripts: Object.fromEntries(under(asked, \"scripts\").filter(([name]) => name !== \"\")),\n ...at(asked, \"dependencies\") === void 0 ? {} : { dependencies: versioned(at(asked, \"dependencies\")) },\n ...at(asked, \"devDependencies\") === void 0 ? {} : { devDependencies: versioned(at(asked, \"devDependencies\")) }\n });\n};\n\n// src/regions/published-manifest.ts\nvar publishedManifest = (asked) => {\n const held = JSON.parse(manifest(asked).join(\"\\n\"));\n for (const one of Object.values(held[\"exports\"])) if (typeof one === \"object\" && one !== null) delete one[\"source\"];\n return json(held);\n};\n\n// src/index.ts\nvar render = shell({\n build: { reads: [\"build/**\"], region: build },\n manifest: { reads: [\"name\", \"version\", \"type\", \"license\", \"author\", \"repository\", \"keywords\", \"sideEffects\", \"engines\", \"exports/**\", \"bin/**\", \"scripts/**\", \"dependencies\", \"devDependencies\", \"source\", \"lang\", \"prose/*/what\", \"form/prose/*/sentence\", \"audit/wire/ships\"], region: manifest },\n \"published-manifest\": { reads: [\"name\", \"version\", \"type\", \"license\", \"author\", \"repository\", \"keywords\", \"sideEffects\", \"engines\", \"exports/**\", \"bin/**\", \"scripts/**\", \"dependencies\", \"devDependencies\", \"source\", \"lang\", \"prose/*/what\", \"form/prose/*/sentence\", \"audit/wire/ships\"], region: publishedManifest }\n});\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n render\n});\n", + "providerDigest": "sha256:53c974b95957f654f13398bd6b2f781cb4b86f9f93a54d7a59fb2e4d38a7e017", + "provenance": { + "artifact": "sha256:384a74b07eb8c7235e584b2801dbda1d78acd7ef6dac933ab05400a40658c55b", + "member": "dist/index.js", + "fixtureOnly": true + }, + "regions": [ + { + "name": "build", + "reads": "build/**" + } + ] + }, + "proseProvider": { + "providerSource": "/** Verbatim prose explicitly assigned to the requested output. The host chooses no format or project vocabulary. */\nexport const render = (asked) => {\n const bodies = [...new Set(asked.lines.filter(line => line.scope?.startsWith('prose/') && line.measure === 'text' && line.shape === asked.shape && line.value !== 'withdraw').map(line => line.about).filter((body) => body !== undefined))];\n if (bodies.length > 1)\n throw Error(`REFUSE\u00b7view conflicting prose names ${asked.shape}`);\n return bodies;\n};\n", + "providerDigest": "sha256:8e322a6ed813609ed6233c5c82812e63eec0480be1eaa46fef62b59cd4c01531" + } +} diff --git a/samples/yes/historical-presentation.json b/samples/yes/historical-presentation.json new file mode 100644 index 0000000..e04b600 --- /dev/null +++ b/samples/yes/historical-presentation.json @@ -0,0 +1,92 @@ +{ + "profile": "topos-doc-historical@0.1.2", + "providerSource": "// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/values.js\nfunction unpipe(value2) {\n const out = [];\n let at = \"\";\n for (let i = 0; i < value2.length; i++) {\n const c = value2[i];\n if (c === \"\\\\\") {\n const next = value2[i + 1];\n if (next !== \"|\" && next !== \"\\\\\")\n return null;\n at += next;\n i += 1;\n } else if (c === \"|\") {\n out.push(at);\n at = \"\";\n } else {\n at += c;\n }\n }\n out.push(at);\n return out;\n}\nvar OPEN = \"*\";\nvar num = (s) => {\n if (!/^-?\\d+(\\.\\d+)?$/.test(s))\n return null;\n const n = Number(s);\n return isFinite(n) ? n : null;\n};\nvar GRAMMARS = {\n interval: (value2) => {\n const at = value2.indexOf(\"..\");\n if (at < 0)\n return null;\n const lo = value2.slice(0, at);\n const hi = value2.slice(at + 2);\n const l = lo === OPEN ? null : num(lo);\n const h = hi === OPEN ? null : num(hi);\n if (lo !== OPEN && l === null || hi !== OPEN && h === null)\n return null;\n return { kind: \"interval\", lo: l, hi: h };\n },\n alphabet: (value2) => {\n const values = unpipe(value2);\n return values === null ? null : { kind: \"enumerated\", values };\n },\n ladder: (value2) => {\n const parts2 = unpipe(value2);\n if (parts2 === null || parts2.length !== 2)\n return null;\n return { kind: \"band\", floor: parts2[0] ?? \"\", ceiling: parts2[1] ?? \"\" };\n }\n};\nfunction boundOf(form2, value2, grammars) {\n const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form2) : void 0;\n if (extra)\n return extra.parse(value2);\n return GRAMMARS[form2]?.(value2) ?? null;\n}\nvar BOUND_FORMS = Object.keys(GRAMMARS);\nvar REF_RELATIONS = [\"within\", \"copies\", \"derives\"];\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/grammar.js\nvar [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = [\"not:\", \"none\", \"|\", \"=\", \"/\", \"@\", \"*\", \"\\\\\"];\nvar refuse = (grammar, why) => {\n throw new Error(`REFUSE\\xB7wire ${grammar}: ${why}`);\n};\nvar digits = (text) => text !== \"\" && [...text].every((one) => one >= \"0\" && one <= \"9\");\nfunction alphabet(given) {\n if (typeof given !== \"string\") {\n const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER);\n if (given.polarity === \"forbid\")\n return FORBID + written;\n return written.startsWith(FORBID) || written === EMPTY ? refuse(\"alphabet\", \"a permitted alphabet neither begins with not: nor is the one word none\") : written || EMPTY;\n }\n const forbid = given.startsWith(FORBID);\n const body = forbid ? given.slice(FORBID.length) : given;\n const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse(\"alphabet\", \"a backslash escapes only a pipe or itself\");\n return { polarity: forbid ? \"forbid\" : \"permit\", members: members.filter((one) => one !== \"\") };\n}\nfunction fields(given) {\n if (typeof given !== \"string\")\n return alphabet({ polarity: \"permit\", members: given.map(([key, value2]) => key + PAIR + value2) });\n const read = alphabet(given);\n if (read.polarity === \"forbid\")\n refuse(\"fields\", \"fields carry no polarity\");\n return read.members.map((one) => one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse(\"fields\", `\\`${one}\\` is not key=value`));\n}\nfunction steps(given) {\n if (typeof given === \"string\")\n return given.split(STEP);\n return given.some((one) => one.includes(STEP)) ? refuse(\"steps\", \"a step holds no slash\") : given.join(STEP);\n}\nfunction atResolution(given) {\n if (typeof given !== \"string\")\n return given.at === void 0 ? given.name : given.name + AT + String(given.at);\n const at = given.lastIndexOf(AT);\n if (at < 0)\n return { name: given };\n const [name, said] = [given.slice(0, at), given.slice(at + 1)];\n if (name === \"\" || said !== EVERY && !digits(said))\n refuse(\"atResolution\", `\\`${given}\\` is not name@digits or name@*`);\n return { name, at: said === EVERY ? EVERY : Number(said) };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/capsule/asked.js\nvar of = (line, field) => line?.[field] ?? \"\";\nvar found = (asked, scope) => asked.lines.find((line) => of(line, \"scope\") === scope);\nvar value = (asked, scope) => found(asked, scope) === void 0 ? void 0 : of(found(asked, scope), \"value\");\nvar listed = (asked, scope) => alphabet(value(asked, scope) ?? \"\").members;\nvar lang = (asked) => value(asked, \"lang\") ?? \"\";\nvar receipts = (asked, region) => asked.regions[region]?.receipts ?? [];\nvar placeOf = (line) => of(line, \"at\").replace(/^[^:]*:/, \"\");\nvar regionLines = (asked, region) => asked.regions[region]?.lines ?? [];\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/classes.js\nfunction matchStar(pat, seg) {\n if (!pat.includes(\"*\"))\n return pat === seg;\n const bits = pat.split(\"*\");\n if (!seg.startsWith(bits[0]))\n return false;\n let i = bits[0].length;\n for (let b = 1; b < bits.length; b++) {\n const bit = bits[b];\n if (bit === \"\")\n return b === bits.length - 1 || matchStar(bits.slice(b).join(\"*\"), seg.slice(i));\n const hit = seg.indexOf(bit, i);\n if (hit < 0)\n return false;\n i = hit + bit.length;\n }\n return i === seg.length || pat.endsWith(\"*\");\n}\nfunction matchParts(g, gi, p, pi) {\n if (gi === g.length)\n return pi === p.length;\n if (g[gi] === \"**\") {\n if (gi + 1 === g.length)\n return true;\n for (let k = pi; k <= p.length; k++) {\n if (matchParts(g, gi + 1, p, k))\n return true;\n }\n return false;\n }\n if (pi === p.length)\n return false;\n if (!matchStar(g[gi], p[pi]))\n return false;\n return matchParts(g, gi + 1, p, pi + 1);\n}\nfunction matches(glob, place) {\n return matchParts(glob.split(\"/\"), 0, place.split(\"/\"), 0);\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/outcome.js\nvar fact = (value2) => ({ kind: \"fact\", value: value2 });\nvar abstain = (why) => ({ kind: \"abstain\", why });\nvar refuse2 = (why, named) => ({ kind: \"refuse\", why, ...named === void 0 ? {} : { named } });\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/line.js\nvar PROTOCOL = \"bound-lock/1\";\nvar NEEDS_QUOTE = /[ =\"\\n\\\\]/;\nfunction escape(value2) {\n if (!NEEDS_QUOTE.test(value2))\n return value2;\n return `\"${value2.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\")}\"`;\n}\nfunction unescape(token) {\n if (!token.startsWith('\"'))\n return NEEDS_QUOTE.test(token) ? null : token;\n if (token.length < 2 || !token.endsWith('\"'))\n return null;\n const body = token.slice(1, -1);\n let out = \"\";\n for (let i = 0; i < body.length; i++) {\n const c = body[i];\n if (c !== \"\\\\\") {\n if (c === '\"')\n return null;\n out += c;\n continue;\n }\n const next = body[i + 1];\n if (next === '\"')\n out += '\"';\n else if (next === \"\\\\\")\n out += \"\\\\\";\n else if (next === \"n\")\n out += \"\\n\";\n else\n return null;\n i += 1;\n }\n return out;\n}\nvar UTF8 = new TextEncoder();\nfunction byBytes(a, b) {\n const x = UTF8.encode(a);\n const y = UTF8.encode(b);\n for (let i = 0; i < x.length && i < y.length; i++) {\n if (x[i] !== y[i])\n return x[i] - y[i];\n }\n return x.length - y.length;\n}\nvar unwritten = (fields2) => fields2[\"form\"] === \"interval\" && fields2[\"value\"] !== void 0 && fields2[\"value\"] !== \"withdraw\" && boundOf(\"interval\", fields2[\"value\"]) === null;\nfunction canonical(fields2, version = \"1\") {\n if (unwritten(fields2))\n throw new Error(`REFUSE\\xB7wire canonical: \\`${fields2[\"value\"]}\\` is no interval the wire writes: two ends, each decimal or *`);\n const keys2 = Object.keys(fields2).sort(byBytes);\n const tokens = keys2.map((k) => `${k}=${escape(fields2[k])}`);\n return [`${PROTOCOL.split(\"/\")[0]}/${version}`, ...tokens].join(\" \");\n}\nvar ABSENT = \"-\";\nfunction parse(text) {\n if (text.includes(\"\\n\")) {\n return refuse2(\"a line is one line \\u2014 a newline in a value must be escaped as `\\\\n`\");\n }\n const space = text.indexOf(\" \");\n const envelope = space === -1 ? text : text.slice(0, space);\n const [name, version] = envelope.split(\"/\");\n if (name !== PROTOCOL.split(\"/\")[0] || !version) {\n return refuse2(`no \\`bound-lock/\\` envelope \\u2014 found \\`${envelope.slice(0, 24)}\\``);\n }\n if (version !== PROTOCOL.split(\"/\")[1]) {\n return abstain(`\\`bound-lock/${version}\\` is a version this reader does not know`);\n }\n const fields2 = {};\n for (const token of tokensOf(space === -1 ? \"\" : text.slice(space + 1))) {\n if (token === null)\n return refuse2(\"a quoted value is not closed\");\n const at = token.indexOf(\"=\");\n if (at <= 0)\n return refuse2(`\\`${token.slice(0, 24)}\\` is not \\`key=value\\``);\n const key = token.slice(0, at);\n if (key in fields2)\n return refuse2(`\\`${key}\\` appears twice \\u2014 one line, one value per key`);\n const value2 = unescape(token.slice(at + 1));\n if (value2 === null)\n return refuse2(`\\`${key}\\` has an escaping this format does not define`);\n if (value2 !== ABSENT)\n fields2[key] = value2;\n }\n if (unwritten(fields2))\n return refuse2(`\\`${fields2[\"value\"]}\\` is no interval the wire reads: two ends, each decimal or *`);\n return fact({ version, fields: fields2 });\n}\nfunction* tokensOf(rest) {\n let at = 0;\n while (at < rest.length) {\n while (rest[at] === \" \")\n at += 1;\n if (at >= rest.length)\n return;\n let end = at;\n let quoted = false;\n while (end < rest.length && (quoted || rest[end] !== \" \")) {\n if (rest[end] === \"\\\\\" && quoted)\n end += 1;\n else if (rest[end] === '\"')\n quoted = !quoted;\n end += 1;\n }\n if (quoted) {\n yield null;\n return;\n }\n yield rest.slice(at, end);\n at = end;\n }\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/capsule/declaration.js\nvar standing = (lines) => lines.flatMap((line) => {\n const got = parse(line);\n return got.kind === \"fact\" && got.value.fields[\"value\"] !== \"withdraw\" ? [got.value.fields] : [];\n});\nfunction handed(reads, lines) {\n return standing(lines).filter((fields2) => reads.some((region) => matches(region, fields2[\"scope\"] ?? \"\")));\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/capsule/shell.js\nfunction shell(regions) {\n return typeof regions === \"string\" ? located(regions) : dispatch(regions, \"renders\");\n}\nvar dispatch = (regions, verb) => (asked) => {\n const one = regions[asked.region];\n if (one === void 0)\n throw new Error(`REFUSE\\xB7region ${asked.region}: no line of this capsule ${verb} it`);\n const short = one.reads.filter((read) => !asked.reads.includes(read));\n if (short.length)\n throw new Error(`REFUSE\\xB7region ${asked.region}: handed less than it declares, without ${short.join(\" \\xB7 \")}`);\n return one.region(asked);\n};\nvar located = (url) => Object.assign(() => {\n throw new Error(`REFUSE\\xB7world ${url}: its host answers it by the regions its own lock names`);\n}, { world: url });\nvar counted = (asked, what, n, measure) => [{ scope: `${asked.region}/${what}`, measure, role: \"reads\", bound: { kind: \"interval\", lo: n, hi: n } }];\nfunction receiptShell(regions) {\n return typeof regions === \"string\" ? located(regions) : dispatch(regions, \"answers\");\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/errors.js\nvar UnitError = class _UnitError extends Error {\n code;\n detail;\n constructor(code, message, detail = {}) {\n super(message);\n this.name = \"UnitError\";\n this.code = code;\n this.detail = Object.freeze({ ...detail });\n Object.setPrototypeOf(this, _UnitError.prototype);\n }\n};\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/order.js\nfunction build(levels, join, meet2) {\n const n = levels.length;\n for (let i = 0; i < n; i++) {\n if (levels.indexOf(levels[i]) !== i) {\n throw new UnitError(\"DUPLICATE_LEVEL\", `the level \\`${levels[i]}\\` is declared twice`, {\n level: levels[i]\n });\n }\n }\n const index = new Map(levels.map((l, i) => [l, i]));\n const leq = (a, b) => join[a][b] === b;\n const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j));\n let simple = true;\n for (let x = 0; x < n && simple; x++) {\n for (let y = 0; y < n && simple; y++) {\n for (let z = 0; z < n; z++) {\n if (meet2[x][join[y][z]] !== join[meet2[x][y]][meet2[x][z]]) {\n simple = false;\n break;\n }\n }\n }\n }\n const all = [...levels.keys()];\n const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0;\n const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1;\n const joinIrr = all.filter((j) => j !== bottomIx && all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j);\n const meetIrr = all.filter((m) => m !== topIx && all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet2[acc][x], topIx) !== m);\n const seen = /* @__PURE__ */ new Set();\n const allDebits = [];\n for (const x of [...joinIrr, ...meetIrr]) {\n if (!seen.has(x)) {\n seen.add(x);\n allDebits.push(x);\n }\n }\n return {\n levels,\n isLadder: total,\n isSimple: simple,\n bottomIx,\n topIx,\n bottom: levels[bottomIx],\n top: levels[topIx],\n leq,\n higher: (a, b) => join[a][b],\n lower: (a, b) => meet2[a][b],\n rank(level) {\n const r = index.get(level);\n if (r === void 0) {\n throw new UnitError(\"UNKNOWN_LEVEL\", `no level \\`${level}\\` in this scale`, {\n level,\n levels\n });\n }\n return r;\n },\n stateOf(floor, ceiling) {\n if (!leq(floor, ceiling))\n return \"CONFLICT\";\n if (floor !== bottomIx)\n return \"REQUIRED\";\n if (ceiling !== topIx)\n return \"FORBIDDEN\";\n return \"FREE\";\n },\n joins: () => joinIrr.slice(),\n limits: () => meetIrr.slice(),\n debits: () => allDebits.slice(),\n intervalHeight(lo, hi) {\n if (!leq(lo, hi))\n return null;\n const inside = all.filter((x) => leq(lo, x) && leq(x, hi));\n const covers = (x) => inside.filter((y) => y !== x && leq(x, y) && !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y)));\n const long = /* @__PURE__ */ new Map([[lo, 0]]);\n const short = /* @__PURE__ */ new Map([[lo, 0]]);\n const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length);\n for (const x of walk) {\n const lx = long.get(x);\n const sx = short.get(x);\n if (lx === void 0 || sx === void 0)\n continue;\n for (const y of covers(x)) {\n long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1));\n short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1));\n }\n }\n const l = long.get(hi);\n return l !== void 0 && l === short.get(hi) ? l : null;\n }\n };\n}\nfunction chain(levels) {\n if (!Array.isArray(levels) || levels.length === 0) {\n throw new UnitError(\"EMPTY_CHAIN\", \"a chain needs at least one level\");\n }\n const n = levels.length;\n const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j)));\n return build(levels, grid(Math.max), grid(Math.min));\n}\nfunction order(levels, leq) {\n if (!Array.isArray(levels) || levels.length === 0) {\n throw new UnitError(\"EMPTY_CHAIN\", \"an order needs at least one level\");\n }\n const n = levels.length;\n const bound = (a, b, up) => {\n const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]);\n const least = bs.filter((x) => bs.every((y) => up ? leq[x][y] : leq[y][x]));\n if (least.length !== 1) {\n throw new UnitError(\"MALFORMED\", `\\`${levels[a]}\\` and \\`${levels[b]}\\` have ${least.length} ${up ? \"lowest common\" : \"highest common\"} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] });\n }\n return least[0];\n };\n const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up)));\n return build(levels, grid(true), grid(false));\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/debit/unit.js\nfunction unit(subject, bounds) {\n return { subject, floor: bounds.floor, ceiling: bounds.ceiling };\n}\nvar permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top });\nfunction state(c, u) {\n return c.stateOf(c.rank(u.floor), c.rank(u.ceiling));\n}\nfunction band(c, units, from, onFloor, onCeiling) {\n let floor = from.floor;\n let ceiling = from.ceiling;\n for (const u of units) {\n floor = onFloor(floor, c.rank(u.floor));\n ceiling = onCeiling(ceiling, c.rank(u.ceiling));\n }\n return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] };\n}\nfunction fuse(c, units) {\n if (units.length === 0)\n return permitAll(c, \"\");\n return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b));\n}\nfunction entails(c, a, b) {\n const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)];\n const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)];\n return c.leq(bf, af) && c.leq(ac, bc);\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/debit/packed.js\nvar WIDTH = 32;\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/debit/masks.js\nfunction chunkCount(n) {\n if (n <= 0)\n return 0;\n return Math.ceil(n / WIDTH);\n}\nvar WideMask = class _WideMask {\n words;\n width;\n constructor(width, words2) {\n this.width = width;\n this.words = words2 ?? new Uint32Array(chunkCount(width));\n }\n static fromTokens(tokens, allowed) {\n const m = new _WideMask(tokens.length);\n tokens.forEach((t, i) => {\n if (allowed.has(t))\n m.set(i);\n });\n return m;\n }\n set(bit) {\n if (bit < 0 || bit >= this.width) {\n throw new UnitError(\"MALFORMED\", `bit ${bit} is outside a mask of width ${this.width}`, {\n bit,\n width: this.width\n });\n }\n this.words[bit >> 5] |= 1 << (bit & 31);\n }\n has(bit) {\n if (bit < 0 || bit >= this.width)\n return false;\n return (this.words[bit >> 5] & 1 << (bit & 31)) !== 0;\n }\n and(other) {\n const w = Math.max(this.width, other.width);\n const out = new _WideMask(w);\n const n = Math.min(this.words.length, other.words.length);\n for (let i = 0; i < n; i++)\n out.words[i] = this.words[i] & other.words[i];\n return out;\n }\n or(other) {\n const w = Math.max(this.width, other.width);\n const out = new _WideMask(w);\n for (let i = 0; i < out.words.length; i++) {\n out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0);\n }\n return out;\n }\n difference(other) {\n const w = Math.max(this.width, other.width);\n const out = new _WideMask(w);\n for (let i = 0; i < out.words.length; i++) {\n out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0);\n }\n const spare = w % 32;\n if (spare !== 0 && out.words.length > 0) {\n out.words[out.words.length - 1] &= (1 << spare) - 1;\n }\n return out;\n }\n subsetOf(other) {\n const n = Math.max(this.words.length, other.words.length);\n for (let i = 0; i < n; i++) {\n const a = this.words[i] ?? 0;\n const b = other.words[i] ?? 0;\n if ((a & ~b) !== 0)\n return false;\n }\n return true;\n }\n size() {\n let n = 0;\n for (let i = 0; i < this.width; i++)\n if (this.has(i))\n n++;\n return n;\n }\n members(tokens) {\n return tokens.filter((_, i) => this.has(i));\n }\n static filled(width) {\n const m = new _WideMask(width);\n if (width <= 0)\n return m;\n m.words.fill(4294967295);\n const spare = width % 32;\n if (spare !== 0)\n m.words[m.words.length - 1] = (1 << spare) - 1;\n return m;\n }\n};\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/scale-lattice.js\nfunction fromScale(c) {\n const inhabited = (x) => state(c, x) !== \"CONFLICT\";\n return {\n top: permitAll(c, \"\"),\n bottom: { subject: \"\", floor: c.levels[c.topIx] ?? \"\", ceiling: c.levels[c.bottomIx] ?? \"\" },\n leq: (a, b) => entails(c, a, b),\n meet: (a, b) => fuse(c, [a, b]),\n join: (a, b) => {\n if (!inhabited(a))\n return b;\n if (!inhabited(b))\n return a;\n return {\n subject: a.subject || b.subject,\n floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor,\n ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling\n };\n },\n show: (x) => `[${x.floor}, ${x.ceiling}]`,\n inhabited\n };\n}\nfunction subsets(tokens) {\n return {\n bottom: new WideMask(tokens.length),\n top: WideMask.filled(tokens.length),\n leq: (a, b) => a.subsetOf(b),\n meet: (a, b) => a.and(b),\n join: (a, b) => a.or(b),\n show: (x) => x.members(tokens).join(\",\"),\n inhabited: (x) => x.size() > 0\n };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/forms.js\nfunction intervals(lo, hi) {\n const low = Math.min(lo, hi);\n const high = Math.max(lo, hi);\n return {\n bottom: { lo: high, hi: low },\n top: { lo: low, hi: high },\n leq(a, b) {\n if (a.lo > a.hi)\n return true;\n if (b.lo > b.hi)\n return false;\n return b.lo <= a.lo && a.hi <= b.hi;\n },\n meet(a, b) {\n return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) };\n },\n join(a, b) {\n if (a.lo > a.hi)\n return b;\n if (b.lo > b.hi)\n return a;\n return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) };\n },\n show(x) {\n return x.lo > x.hi ? \"empty\" : `${x.lo}..${x.hi}`;\n },\n inhabited(x) {\n return x.lo <= x.hi;\n }\n };\n}\nfunction form(f) {\n const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points };\n const lacking = Object.entries(held).find(([, fn]) => typeof fn !== \"function\");\n if (lacking)\n throw new Error(`form \\`${f.id}\\` declared no ${lacking[0]}`);\n return f;\n}\nvar rec = (x) => x !== null && typeof x === \"object\" ? x : {};\nfunction strings(x) {\n return Array.isArray(x) ? x.map(String) : [];\n}\nvar drawn = (seed) => {\n let s = seed >>> 0;\n return () => {\n s = s + 1831565813 >>> 0;\n let t = Math.imul(s ^ s >>> 15, s | 1);\n t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n return ((t ^ t >>> 14) >>> 0) / 4294967296;\n };\n};\nvar picked = (draw, xs) => xs[Math.floor(draw() * xs.length)];\nfunction bandCount(levels, folded) {\n if (levels.length === 0)\n return { kind: \"refused\", why: \"a ladder with no levels cannot be counted\" };\n const c = chain(levels);\n const f = c.rank(folded.floor);\n const cl = c.rank(folded.ceiling);\n if (!c.leq(f, cl))\n return { kind: \"finite\", n: 0 };\n const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length;\n return { kind: \"finite\", n };\n}\nvar BAND = {\n parse(params, demand) {\n const L = this.lattice(params);\n const d = rec(demand);\n return {\n subject: String(d.subject ?? \"\"),\n floor: String(d.floor ?? L.top.floor),\n ceiling: String(d.ceiling ?? L.top.ceiling)\n };\n },\n emit(_params, value2) {\n return { subject: value2.subject, floor: value2.floor, ceiling: value2.ceiling };\n },\n count(folded, params) {\n return bandCount(strings(rec(params).levels), folded);\n },\n points(params, seed, n) {\n const L = this.lattice(params);\n const levels = strings(rec(params).levels);\n const draw = drawn(seed);\n const band2 = (floor, ceiling) => ({ subject: \"\", floor, ceiling });\n return Array.from({ length: n }, () => {\n const [a, b] = [picked(draw, levels), picked(draw, levels)];\n return [band2(a, b), band2(b, a)].find((x) => L.inhabited(x)) ?? band2(a, a);\n });\n }\n};\nvar ladderForm = form({\n id: \"ladder\",\n lattice(params) {\n const levels = strings(rec(params).levels);\n if (levels.length === 0)\n throw new Error(\"ladder needs levels\");\n return fromScale(chain(levels));\n },\n ...BAND,\n show(value2) {\n return value2.floor === value2.ceiling ? value2.floor : `${value2.floor}..${value2.ceiling}`;\n }\n});\nvar alphabetForm = form({\n id: \"alphabet\",\n lattice(params) {\n return subsets(strings(rec(params).tokens));\n },\n parse(params, demand) {\n const tokens = strings(rec(params).tokens);\n const d = rec(demand);\n const want = d.want !== void 0 ? strings(d.want) : tokens;\n return WideMask.fromTokens(tokens, new Set(want));\n },\n emit(params, value2) {\n return { want: value2.members(strings(rec(params).tokens)) };\n },\n count(folded) {\n return { kind: \"finite\", n: folded.size() };\n },\n show(value2) {\n return `${value2.size()}`;\n },\n points(params, seed, n) {\n const tokens = strings(rec(params).tokens);\n const draw = drawn(seed);\n return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5))));\n }\n});\nvar continuousForm = form({\n id: \"continuous\",\n lattice(params) {\n const p = rec(params);\n return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1));\n },\n parse(params, demand) {\n const L = this.lattice(params);\n const d = rec(demand);\n return {\n lo: d.lo === void 0 ? L.top.lo : Number(d.lo),\n hi: d.hi === void 0 ? L.top.hi : Number(d.hi)\n };\n },\n emit(_params, value2) {\n return { lo: value2.lo, hi: value2.hi };\n },\n count() {\n return { kind: \"refused\", why: \"a continuous band has no count; prefer not to exist over inventing one\" };\n },\n show(value2) {\n return value2.lo > value2.hi ? \"empty\" : `${value2.lo}..${value2.hi}`;\n },\n points(params, seed, n) {\n const p = rec(params);\n const lo = Number(p.lo ?? 0);\n const hi = Number(p.hi ?? 1);\n const draw = drawn(seed);\n const at = () => lo + Math.round(draw() * (hi - lo));\n return Array.from({ length: n }, () => ({ lo: at(), hi: at() }));\n }\n});\nvar latticeForm = form({\n id: \"lattice\",\n lattice(params) {\n const p = rec(params);\n const levels = strings(p.levels);\n const leq = p.leq;\n if (levels.length && leq)\n return fromScale(order(levels, leq));\n throw new Error(\"lattice needs levels+leq\");\n },\n ...BAND,\n show(value2) {\n return `${value2.floor}..${value2.ceiling}`;\n }\n});\nvar FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm];\nvar FORMS = [...FORM_IMPLEMENTATIONS];\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/field.js\nfunction coordinate(name, steps2 = \"/\") {\n const at = name.split(new RegExp(`[${steps2.replace(/[.*+?^${}()|[\\]\\\\-]/g, \"\\\\$&\")}]`)).filter((s) => s !== \"\");\n while (at[at.length - 1] === \"*\" || at[at.length - 1] === \"**\")\n at.pop();\n return at;\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/lattice/obligatory.js\nfunction cell(at, epoch = 0, seen = [], restsOn2 = []) {\n return { at: coordinate(at), epoch, seen, restsOn: restsOn2 };\n}\nfunction live(lines) {\n const taken = new Set(lines.flatMap((line) => line.takes === void 0 ? [] : [line.takes]));\n return lines.filter((line) => line.takes === void 0 && (line.id === void 0 || !taken.has(line.id)));\n}\nfunction restOf(c, world = /* @__PURE__ */ new Map()) {\n const own = c.at.join(\"/\");\n const out = [];\n const held = /* @__PURE__ */ new Set();\n const edge = [...c.restsOn];\n for (let i = 0; i < edge.length; i += 1) {\n const name = edge[i];\n if (name === own)\n throw new UnitError(\"rest-cycle\", `obligations: REFUSE\\xB7rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own });\n if (held.has(name))\n continue;\n held.add(name);\n out.push(name);\n edge.push(...world.get(name)?.restsOn ?? []);\n }\n return out;\n}\nfunction parts(L, c, world = /* @__PURE__ */ new Map()) {\n const rest = restOf(c, world);\n const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === \"travels\" && one.widens === void 0));\n const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0));\n let required = L.top;\n let signed = L.top;\n for (const one of marks) {\n if (one.pole === \"floor\")\n required = L.meet(required, one.span);\n else\n signed = one.widens === void 0 ? L.meet(signed, one.span) : L.join(signed, one.span);\n }\n const origins2 = live(c.seen);\n const held = origins2.reduce((acc, claim) => L.meet(acc, claim.span), L.top);\n return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins: origins2, rest, required, signed };\n}\nfunction state2(L, c, world = /* @__PURE__ */ new Map()) {\n const { floor, ceiling, origins: origins2, required, signed } = parts(L, c, world);\n if (!L.inhabited(L.meet(required, signed)))\n return \"CONFLICT\";\n if (new Set(origins2.map((claim) => claim.origin)).size < 2)\n return \"REQUIRED\";\n if (!L.inhabited(origins2.reduce((acc, claim) => L.meet(acc, claim.span), L.top)))\n return \"CONFLICT\";\n return L.inhabited(L.meet(floor, ceiling)) ? \"FREE\" : \"FORBIDDEN\";\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/meet.js\nfunction meet(L, c, world = /* @__PURE__ */ new Map()) {\n const { floor, ceiling } = parts(L, c, world);\n return L.meet(floor, ceiling);\n}\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/encounter.js\nfunction encounter(L, c, world = /* @__PURE__ */ new Map()) {\n return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/sig.js\nfunction parseSignature(value2) {\n const colon = value2.lastIndexOf(\":\");\n if (colon <= 0 || colon === value2.length - 1)\n return null;\n return { algorithm: value2.slice(0, colon), raw: value2.slice(colon + 1) };\n}\n\n// ../provider-closure/world/node_modules/@lapxo/topos/dist/wire/claimline.js\nvar WITHDRAW = \"withdraw\";\nfunction admittedDigest(value2, wire) {\n const colon = value2.indexOf(\":\");\n return colon > 0 && wire.digests.has(value2.slice(0, colon)) && /^[0-9a-f]+$/i.test(value2.slice(colon + 1));\n}\nfunction isRegion(need) {\n if (need.startsWith(\"/\") || /[\\s\\\\]/.test(need))\n return false;\n const steps2 = need.split(\"/\").filter((step) => step !== \"\");\n return steps2.length > 0 && steps2.every((step, i) => step !== \".\" && step !== \"..\" && (!step.includes(\"*\") || i === steps2.length - 1));\n}\nvar FIELD_FORMS = {\n region: (value2) => value2.split(\"|\").filter(Boolean).every(isRegion),\n class: (value2, wire) => {\n const colon = value2.indexOf(\":\");\n if (colon <= 0 || !wire.classes.has(value2.slice(0, colon)))\n return false;\n const rest = value2.slice(colon + 1);\n return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire);\n },\n signature: (value2, wire) => {\n const got = parseSignature(value2);\n if (got === null || !wire.signatures.has(got.algorithm))\n return false;\n const era = got.algorithm.slice(got.algorithm.lastIndexOf(\":\") + 1);\n return admittedDigest(got.algorithm, wire) || got.algorithm.includes(\":\") && (wire.lists.get(\"era\")?.has(era) ?? false);\n },\n count: (value2) => /^\\d+$/.test(value2)\n};\nfunction debit(field, why) {\n return refuse2(why, field);\n}\nfunction fromLine(text, wire, grammars) {\n const line = parse(text);\n if (line.kind !== \"fact\") {\n return line.kind === \"abstain\" ? abstain(line.why) : refuse2(line.why, line.named);\n }\n const f = line.value.fields;\n if (wire) {\n for (const k of Object.keys(f))\n if (!wire.fields.has(k))\n return debit(k, `\\`${k}=\\` is not a field of the wire at epoch ${wire.epoch}`);\n for (const k of wire.required)\n if (f[k] === void 0)\n return debit(k, `a claim with no \\`${k}\\``);\n for (const [k, form2] of wire.formOf) {\n const v = f[k];\n if (v === void 0)\n continue;\n const ids = wire.lists.get(form2);\n const reads = FIELD_FORMS[form2] ?? (ids ? (value2) => ids.has(value2) : void 0);\n if (!reads)\n return abstain(`\\`${k}\\` takes the form ${form2}, which this reader does not know`);\n if (!reads(v, wire))\n return debit(k, `\\`${k}=${v}\\` is not a ${form2} of the wire at epoch ${wire.epoch}`);\n }\n if (f.role !== void 0 && !wire.roles.has(f.role))\n return abstain(`\\`role=${f.role}\\` is a role this wire does not name`);\n if (!wire.forms.has(f.form ?? \"\"))\n return abstain(`\\`form=${f.form}\\` is a form this wire does not name`);\n }\n const listed2 = Array.isArray(grammars) ? grammars : void 0;\n const bound = f.value === WITHDRAW ? { kind: \"enumerated\", values: [WITHDRAW] } : boundOf(f.form ?? \"\", f.value ?? \"\", listed2);\n if (bound === null) {\n const mine = BOUND_FORMS.includes(f.form ?? \"\") || (listed2?.some((g) => g.form === f.form) ?? false);\n return mine ? debit(\"value\", `\\`${f.value}\\` is not a ${f.form}`) : abstain(`\\`form=${f.form}\\` is a form this reader does not know`);\n }\n const role = f.role === \"writes\" ? \"writes\" : f.role === \"demands\" ? \"demands\" : \"reads\";\n const extra = {};\n for (const [k, v] of Object.entries(f)) {\n if ([\"scope\", \"measure\", \"form\", \"value\", \"by\", \"at\", \"role\", \"unit\", \"multiplicity\", \"epoch\", \"ref\", \"to\", \"ref_by\"].includes(k))\n continue;\n extra[k] = v;\n }\n const rel = f.ref;\n const to = f.to === void 0 ? null : unpipe(f.to);\n const reference = rel && to && REF_RELATIONS.includes(rel) ? { rel, to, by: f.ref_by === \"declared\" ? \"declared\" : \"inferred\" } : null;\n return fact({\n scope: f.scope ?? \"\",\n measure: f.measure ?? \"\",\n bound,\n role,\n by: f.by ?? \"\",\n at: f.at ?? \"\",\n ...f.unit !== void 0 ? { unit: f.unit } : {},\n ...f.multiplicity === \"one\" || f.multiplicity === \"many\" || f.multiplicity === \"unknown\" ? { multiplicity: f.multiplicity } : {},\n ...f.epoch !== void 0 ? { epoch: f.epoch } : {},\n ...reference ? { reference } : {},\n extra\n });\n}\nvar EPOCHS = intervals(-Infinity, Infinity);\nvar QUORUMS = intervals(1, Infinity);\n\n// ../provider-closure/world/dist/helpers/asked.js\nvar pairs = (asked, scope) => fields(value(asked, scope) ?? \"\");\nvar receiptLine = (asked, region, scope, place, measure) => receipts(asked, region).find((line) => of(line, \"scope\") === scope && (place === void 0 || placeOf(line) === place) && (measure === void 0 || of(line, \"measure\") === measure));\nvar receiptValue = (asked, region, scope, place, measure) => ((line) => line === void 0 ? void 0 : of(line, \"value\"))(receiptLine(asked, region, scope, place, measure));\nvar numeral = (said) => {\n const read = (value2) => {\n try {\n const got = fromLine(canonical({ at: \"place:numeral\", by: \"reader\", form: \"interval\", measure: \"count\", role: \"reads\", scope: \"numeral\", value: value2 }), null);\n return got.kind === \"fact\" && got.value.bound.kind === \"interval\" ? got.value.bound.lo ?? void 0 : void 0;\n } catch {\n return void 0;\n }\n };\n return said === void 0 ? NaN : read(said) ?? read(`${said}..${said}`) ?? NaN;\n};\n\n// ../provider-closure/world/node_modules/@lapxo/obligations/dist/field/observe.js\nfunction observe(c, claim, s = claim.takes === void 0 ? 1 : -1) {\n const takes = s === 1 ? void 0 : claim.takes ?? claim.id;\n if (s === 1 && claim.takes !== void 0)\n throw new UnitError(\"sign-mismatch\", \"obligations: REFUSE\\xB7observe a claim that takes another back is observed at \\u22121, never at +1\");\n if (s === -1 && takes === void 0)\n throw new UnitError(\"withdrawal-unnamed\", \"obligations: REFUSE\\xB7observe a withdrawal names the claim it takes back, never a value that looks like it\");\n const line = takes === void 0 ? claim : { origin: claim.origin, span: claim.span, sign: -1, takes, ...claim.at === void 0 ? {} : { at: claim.at } };\n return { ...c, epoch: Math.max(c.epoch, claim.at ?? c.epoch), seen: [...c.seen, line] };\n}\n\n// ../provider-closure/world/dist/helpers/language.js\nvar rule = (asked, name) => listed(asked, `form/prose/${lang(asked)}/${name}`);\nvar upper = (text) => `${text.charAt(0).toUpperCase()}${text.slice(1)}`;\nvar words = (asked, slug) => rule(asked, \"words\").includes(\"spaces\") ? slug.split(\"-\").join(\" \") : slug;\nvar heading = (asked, slug) => rule(asked, \"heading\").includes(\"capital\") ? upper(words(asked, slug)) : words(asked, slug);\nvar count = (asked, n, first = false) => {\n const word = rule(asked, \"numbers\")[n] ?? String(n);\n return first && rule(asked, \"sentence\").includes(\"capital\") ? upper(word) : word;\n};\nvar listOf = (asked, items) => {\n const [comma = \", \", and = \" and \"] = rule(asked, \"list\");\n return items.length > 1 ? `${items.slice(0, -1).join(comma)}${and}${items[items.length - 1]}` : items.join(\"\");\n};\nvar stated = (asked, state3) => rule(asked, `state/${state3}`)[0] ?? \"\";\nvar prose = (asked, key) => ((line) => line === void 0 ? void 0 : of(line, \"about\"))(found(asked, `prose/${lang(asked)}/${key}`) ?? found(asked, `form/prose/${lang(asked)}/page/${key}`));\nvar fill = (asked, key, text, fields2 = {}) => listed(asked, `form/template/${key}`).reduce((said, field) => said.split(`{${field}}`).join(String(fields2[field] ?? \"\")), text);\nvar say = (asked, key, fields2 = {}) => fill(asked, key, prose(asked, key) ?? \"\", fields2);\nvar sentence = (asked, text) => {\n const said = rule(asked, \"sentence\");\n let end = text.length;\n while (end > 0 && \".;:, \\n\".includes(text.charAt(end - 1)))\n end -= 1;\n const start = said.includes(\"capital\") ? `${text.charAt(0).toUpperCase()}${text.slice(1, end)}` : text.slice(0, end);\n return said.includes(\"period\") ? `${start}.` : start;\n};\nvar parted = (asked, key) => ((said) => said === void 0 ? [] : [said.trim()])(prose(asked, key));\nvar section = (asked, key) => ((said) => said ? [`## ${said}`, \"\"] : [])(prose(asked, `${key}/heading`));\nvar titled = (asked, key, parts2) => parts2.length ? [...section(asked, key), ...parts2.flatMap((part) => [part, \"\"])].slice(0, -1) : [];\n\n// ../provider-closure/world/dist/helpers/laws.js\nvar laws = (asked) => regionLines(asked, \"laws\");\nvar offers = (asked) => regionLines(asked, \"offers\");\nvar lawId = (law) => placeOf(law);\nvar lawKey = (law) => of(law, \"scope\").slice(lawId(law).lastIndexOf(\"/\") + 1);\nvar lawName = (asked, law) => words(asked, of(law, \"scope\").slice(lawId(law).length + 1));\nvar lawAt = (asked, scope) => laws(asked).find((one) => of(one, \"scope\") === scope);\nvar keys = (asked, rested) => alphabet(rested).members.map((scope) => ((law) => law === void 0 ? scope : lawKey(law))(lawAt(asked, scope))).join(\", \");\nvar object = (asked) => lawAt(asked, value(asked, \"notation/object\") ?? \"\");\nvar resting = (asked, scope) => offers(asked).filter((line) => alphabet(of(line, \"restsOn\")).members.includes(scope));\nvar moduleOf = (asked, offer) => alphabet(of(offer, \"needs\")).members.find((need) => receiptValue(asked, \"source\", \"source/carries\", need) !== void 0 || receipts(asked, \"source\").some((one) => placeOf(one) === need));\nvar sample = (asked, law, side) => {\n const family = value(asked, `samples/${side}`);\n const at = family === void 0 ? void 0 : alphabet(of(law, \"needs\")).members.find((need) => need.startsWith(`${family.replace(/\\/$/, \"\")}/`));\n const said = (field) => at === void 0 ? void 0 : receiptValue(asked, \"laws\", `said/${field}`, at);\n return { recorded: at !== void 0 && receipts(asked, \"laws\").some((line) => placeOf(line) === at && of(line, \"scope\").startsWith(\"said/\")), at, about: said(\"about\")?.split(\"\\n\"), title: said(\"title\"), brief: said(\"brief\") };\n};\nvar conjectured = (asked, law) => ((yes, no) => say(asked, \"open/conjecture\", {\n title: yes.title ?? sentence(asked, lawName(asked, law)).slice(0, -1),\n brief: yes.brief ?? of(law, \"about\"),\n breaks: no.brief ?? (no.about ?? [])[0] ?? \"\"\n}))(sample(asked, law, \"yes\"), sample(asked, law, \"no\"));\n\n// ../provider-closure/world/dist/helpers/look.js\nvar stands = (said) => Object.entries(said).filter((pair) => Boolean(pair[1]));\nvar look = (asked, key) => value(asked, `form/style/${key}`);\nvar spacing = (asked, figure) => Object.fromEntries(asked.lines.filter((line) => of(line, \"scope\").startsWith(`form/style/${figure}/`)).map((line) => [of(line, \"scope\").slice(`form/style/${figure}/`.length), numeral(of(line, \"value\"))]));\nvar attrs = (said) => stands(said).map(([k, v]) => ` ${k}=\"${escaped(v)}\"`).join(\"\");\nvar css = (rules2) => rules2.map(([at, said]) => [at, stands(said).map(([k, v]) => `${k}:${v}`).join(\";\")]).filter(([, body]) => body).map(([at, body]) => `${at}{${body}}`).join(\"\");\nvar between = (v, [a, b], [c, d]) => c + (v - a) / (b - a) * (d - c);\nvar px = (n) => Number.isFinite(n) ? String(numeral(n.toFixed(1))) : void 0;\nvar secs = (n) => Number.isFinite(n) ? `${n.toFixed(1)}s` : void 0;\nvar font = (asked, family, size) => ((face, at) => face && at ? { font: `${at} ${face}` } : { \"font-family\": face, \"font-size\": at })(look(asked, `font/${family}`), look(asked, `size/${size}`));\nvar style = (light, night) => ((lit) => lit.length || night ? [\"\"] : [])(light.filter(Boolean));\nvar classDef = (name, fill2, text) => ((said) => said ? [` classDef ${name} ${said}`] : [])([fill2 && `fill:${fill2}`, text && `color:${text}`, fill2 && `stroke:${fill2}`].filter(Boolean).join(\",\"));\n\n// ../provider-closure/world/dist/helpers/prose.js\nvar zoom = (summary, lines) => lines.length ? [`
${summary}`, \"\", ...lines, \"\", \"
\"] : [];\nvar inCell = /* @__PURE__ */ new Map([[\"|\", \"\\\\|\"]]);\nvar cellText = (text) => [...text].map((one) => inCell.get(one) ?? one).join(\"\").split(\"\\n\").join(\" \").split(\" \").filter(Boolean).join(\" \");\nvar escaped = (text) => text.split(\"&\").join(\"&\").split(\"<\").join(\"<\").split(\">\").join(\">\").split('\"').join(\""\");\nvar folder = (at) => steps(steps(at).slice(0, -1));\nvar reaches = (asked, key) => asked.at >= numeral(value(asked, `form/page/${key}`));\nvar stem = (at) => {\n const name = at.slice(at.lastIndexOf(\"/\") + 1);\n return name.includes(\".\") ? name.slice(0, name.lastIndexOf(\".\")) : name;\n};\nvar relative = (from, to) => {\n const [a, b] = [steps(from).filter(Boolean), steps(to).filter(Boolean)];\n const differ = a.findIndex((step, i) => step !== b[i]);\n const shared = differ < 0 ? a.length : differ;\n return steps([...a.slice(shared).map(() => \"..\"), ...b.slice(shared)]);\n};\nvar painted = (asked, name) => ({ name, colour: look(asked, `colour/${name}`), glyph: look(asked, `glyph/${name}`) });\nvar glyph = (asked, name) => pairs(asked, \"notation/glue\").find(([one]) => one === name)?.[1] ?? \"\";\nvar states = (asked) => pairs(asked, \"notation/renders\").map(([state3, name]) => ({ ...painted(asked, state3), name }));\nvar rendered = (asked, state3) => ({ ...painted(asked, state3), name: pairs(asked, \"notation/renders\").find(([one]) => one === state3)?.[1] ?? state3 });\nvar resolved = (asked, body) => {\n if (reaches(asked, \"statement\") || !body.length)\n return body;\n const head = body.findIndex((line) => line.startsWith(\"```\"));\n if (head < 0)\n return asked.at > 1 ? body : ((lead) => lead < 0 ? body : body.slice(0, lead))(body.findIndex((line, i) => i > 1 && line === \"\" && body[i - 1] !== \"\"));\n const lines = body.slice(head + 1, body.lastIndexOf(\"```\"));\n if (asked.at <= 1)\n return [...body.slice(0, head + 1), ...lines.slice(0, 1), \"```\"];\n const [cut] = rule(asked, \"separator\");\n if (cut === void 0)\n throw new Error(`REFUSE\\xB7resolution ${asked.region}@${asked.at}: form/prose/${lang(asked)}/separator names no separator to cut its steps at`);\n return [...body.slice(0, head + 1), ...lines.map((line) => line.split(cut).slice(0, asked.at).join(cut)), \"```\"];\n};\n\n// ../provider-closure/world/dist/helpers/cells.js\nvar SPANS = intervals(-Infinity, Infinity);\nvar hull = (ns) => ns.reduce((all, n) => SPANS.join(all, { lo: n, hi: n }), SPANS.bottom);\nvar apartOf = (met, at) => ((left) => left.length === 1 ? left[0] : void 0)(met.seen.flatMap((one) => ((rest) => rest.origins > 1 && SPANS.inhabited(rest.held) ? [{ who: one.origin, held: rest.held, count: rest.origins }] : [])(encounter(SPANS, met.seen.filter((other) => other !== one).reduce((held, claim) => observe(held, claim), cell(at))))));\nfunction cellOf(asked, at) {\n const shape = new Map(pairs(asked, \"notation/claim\"));\n const role = (name) => shape.get(name) ?? \"\";\n const fielded = receipts(asked, \"source\").filter((one) => placeOf(one) === at && of(one, \"scope\").startsWith(\"source/literal/\")).map((one) => new Map(fields(of(one, \"value\"))));\n const met = fielded.filter((one) => [\"who\", \"lo\", \"hi\"].every((name) => one.has(role(name))) && !one.has(role(\"without\"))).reduce((held, one) => observe(held, { origin: one.get(role(\"who\")) ?? \"\", span: { lo: numeral(one.get(role(\"lo\"))), hi: numeral(one.get(role(\"hi\"))) } }), cell(at));\n return built(met, at);\n}\nvar cellOfLines = (lines) => ((at) => built(lines.reduce((held, line) => ((got) => got.kind === \"fact\" && got.value.bound.kind === \"interval\" && got.value.bound.lo !== null && got.value.bound.hi !== null ? observe(held, { origin: of(line, \"by\"), span: { lo: got.value.bound.lo, hi: got.value.bound.hi } }) : held)(fromLine(canonical(line), null)), cell(at)), at))(of(lines[0], \"scope\"));\nvar built = (met, at) => {\n const { origins: origins2, held } = encounter(SPANS, met);\n const rest = SPANS.inhabited(held) ? void 0 : apartOf(met, at);\n return origins2 > 1 ? { claims: met.seen, held, hull: met.seen.reduce((all, one) => SPANS.join(all, one.span), SPANS.bottom), state: state2(SPANS, met), ...rest === void 0 ? {} : { rest } } : void 0;\n};\nvar captioned = (asked, met) => (met.rest !== void 0 ? say(asked, \"cell/outlier\", { count: count(asked, met.rest.count), ...met.rest.held, who: met.rest.who, state: met.state.toLowerCase() }) : SPANS.inhabited(met.held) ? say(asked, \"cell/together\", { count: count(asked, met.claims.length), ...met.held, state: met.state.toLowerCase() }) : \"\") || stated(asked, met.state);\nvar described = (asked, met) => say(asked, \"cell/origins\", {\n count: count(asked, met.claims.length, true),\n claims: listOf(asked, met.claims.map((one) => say(asked, \"cell/claim\", { who: one.origin, ...one.span }))),\n held: SPANS.inhabited(met.held) ? say(asked, \"cell/held\", { ...met.held }) : prose(asked, \"apart\") ?? \"\"\n});\nvar image = (asked, at, met) => `\"${escaped(described(asked,

`;\nvar labelOf = (asked, scope) => ((law) => law === void 0 ? scope : lawName(asked, law))(lawAt(asked, scope));\n\n// ../provider-closure/world/dist/helpers/examples.js\nvar examples = (asked, at = \"\") => {\n const got = receipts(asked, \"examples\").filter((line) => placeOf(line) === at && matches(\"examples/*\", of(line, \"scope\")));\n return [...new Set(got.map((line) => of(line, \"scope\")))].map((scope) => {\n const read = (measure) => got.find((one) => of(one, \"scope\") === scope && of(one, \"measure\") === measure);\n const origins2 = [found(asked, scope), read(\"id\")].filter((line) => of(line, \"value\") !== \"\");\n const tokens = [...new Set(origins2.map((line) => of(line, \"value\")))];\n const met = origins2.reduce((at2, line) => observe(at2, { origin: of(line, \"by\"), span: WideMask.fromTokens(tokens, /* @__PURE__ */ new Set([of(line, \"value\")])) }), cell(scope));\n return { name: steps(scope)[1] ?? \"\", source: of(read(\"source\"), \"value\"), printed: of(read(\"printed\"), \"value\"), at: of(read(\"at\") ?? read(\"leaf\"), \"value\"), state: state2(alphabetForm.lattice({ tokens }), met) };\n });\n};\nvar shortest = (asked, at = \"\") => [...examples(asked, at)].sort((a, b) => a.source.split(\"\\n\").length - b.source.split(\"\\n\").length || byBytes(a.name, b.name))[0];\nvar fence = (asked, one) => receiptValue(asked, \"source\", \"source/lang\", one.at) ?? \"\";\nvar run = (asked, one) => [`\\`\\`\\`${fence(asked, one)}`, ...one.source.trim().split(\"\\n\"), \"```\", \"\", \"```\", ...one.printed.split(\"\\n\"), \"```\"];\nvar glance = (asked, one, here) => {\n const printed = one.printed.split(\"\\n\");\n const depth = (line) => line.length - line.trimStart().length;\n const next = (i) => printed.slice(i + 1).find((line) => line.trim()) ?? \"\";\n const runner = asked.lines.find((line) => matches(\"form/runtime/*/run\", of(line, \"scope\")));\n const command = runner === void 0 ? \"\" : fill(asked, steps(of(runner, \"scope\")).slice(1).join(\"/\"), of(runner, \"value\"), { at: one.at });\n const [at, most] = [((learn) => learn === void 0 ? asked.at : numeral(learn))(value(asked, \"form/page/learn\")), numeral(value(asked, \"form/page/example\"))];\n const outline = printed.filter((line, i) => line.trim() && !depth(line) && !depth(next(i)));\n const [ran, fenced] = [command ? [\"```bash\", command, \"```\"] : [], (body) => [\"```\", ...body, \"```\"]];\n const shown = at > 1 ? printed : Number.isFinite(most) ? outline.slice(0, hull([0, most - ran.length - fenced([]).length]).hi) : outline;\n const part = (key, body) => body.length ? [.../* @__PURE__ */ ((said) => said ? [said, \"\"] : [])(prose(asked, `figure/learn/${key}`)), ...body] : [];\n const blocks = [part(\"run\", ran), part(\"printed\", fenced(shown)), /* @__PURE__ */ ((link) => link ? [link] : [])(say(asked, \"figure/learn/source\", { at: relative(here, one.at) }))];\n return blocks.filter((block) => block.length).flatMap((block, i) => i ? [\"\", ...block] : block);\n};\n\n// ../provider-closure/world/dist/helpers/figures.js\nvar figured = (asked, region, at) => asked.lines.filter((line) => of(line, \"scope\").startsWith(\"view/\") && ((members) => members.length === 1 && members.some((token) => ((read) => read.name === region && read.at === at)(atResolution(token))))(alphabet(of(line, \"value\")).members));\nvar figureAt = (line) => of(line, \"shape\") || void 0;\nvar drawn2 = (asked, drawing, alt, key = \"\", beneath = []) => ((at) => !drawing.length || at === void 0 ? [] : asked.shape === at ? drawing : [\n ...key ? section(asked, key) : [],\n `\"${escaped(alt)}\"${attrs({

`,\n ...beneath.length ? [\"\", ...beneath] : []\n])(figured(asked, asked.region, 1).map(figureAt).find(Boolean));\n\n// ../provider-closure/world/dist/helpers/refused.js\nvar tail = (scope) => (([n = \"\", word = \"\", ...file]) => ({ n, word, file: steps(file.reverse()) }))([...steps(scope)].reverse());\nvar refusedCases = (asked) => {\n const step = \"refused\";\n const said = [...receipts(asked, \"vectors\"), ...receipts(asked, \"captures\")].filter((line) => tail(of(line, \"scope\")).word === step);\n const where = (scope) => placeOf(said.find((line) => of(line, \"scope\") === scope) ?? {});\n const scopes = [...new Set(said.filter((line) => of(line, \"measure\") === \"why\").map((line) => of(line, \"scope\")))].sort((a, b) => byBytes(tail(a).file, tail(b).file) || numeral(tail(a).n) - numeral(tail(b).n));\n const read = (first, measure) => of(said.find((line) => of(line, \"scope\") === first && of(line, \"measure\") === measure), \"value\");\n return scopes.map((first) => ({ input: read(first, \"input\"), why: read(first, \"why\"), at: where(first), name: read(first, \"name\") || tail(first).file }));\n};\nvar refusedCase = (asked) => refusedCases(asked)[0];\n\n// ../provider-closure/world/dist/helpers/samples.js\nvar sampled = (asked, prefer = \"\") => {\n const family = value(asked, \"samples/yes\");\n const said = receipts(asked, \"laws\").filter((line) => of(line, \"scope\") === \"said/lines\");\n const eligible = prefer ? said.filter((line) => placeOf(line) === prefer) : family === void 0 ? [] : said.filter((line) => placeOf(line).startsWith(`${family.replace(/\\/$/, \"\")}/`));\n const [one] = [...eligible].sort((a, b) => byBytes(placeOf(a), placeOf(b)));\n return one === void 0 ? void 0 : { at: placeOf(one), lines: handed([\"**\"], of(one, \"value\").split(\"\\n\")) };\n};\nvar declaredSample = (asked, view) => {\n const needs = alphabet(of(view, \"needs\")).members;\n if (needs.length)\n return needs.flatMap((need) => sampled(asked, need)?.lines ?? []);\n return sampled(asked)?.lines ?? [];\n};\n\n// ../provider-closure/world/dist/helpers/notation.js\nvar symbolOf = (asked, type, name) => type.endsWith(\"[]\") ? `[${symbolOf(asked, type.slice(0, -\"[]\".length), name)}]` : listed(asked, \"notation/named\").includes(type) ? name : new Map(pairs(asked, \"notation/types\")).get(type) ?? type;\nfunction formulas(asked) {\n const pending = laws(asked).filter((line) => of(line, \"form\") === \"formula\");\n const parent = (formula) => of(formula, \"scope\").slice(0, of(formula, \"scope\").lastIndexOf(\"/\"));\n const out = [];\n while (pending.length) {\n const waits = (formula) => alphabet(of(lawAt(asked, parent(formula)), \"restsOn\")).members.some((on) => pending.some((other) => other !== formula && parent(other) === on));\n const next = pending.findIndex((formula) => !waits(formula));\n out.push(...pending.splice(next < 0 ? 0 : next, 1));\n }\n return out;\n}\nvar moduleOfObject = (asked, held) => resting(asked, of(held, \"scope\")).map((offer) => moduleOf(asked, offer)).find(Boolean);\nvar tuple = (asked) => {\n const held = object(asked);\n if (held === void 0 || !pairs(asked, \"notation/cell\").length)\n return void 0;\n const module = moduleOfObject(asked, held);\n const carries = new Set(alphabet(module === void 0 ? \"\" : receiptValue(asked, \"source\", \"source/carries\", module) ?? \"\").members);\n const [symbols, gloss] = [new Map(pairs(asked, \"notation/symbols\")), listed(asked, \"notation/gloss\")];\n const members = pairs(asked, \"notation/cell\");\n const shown = (carries.size ? members.filter(([member]) => carries.has(member)) : members).map(([, sym]) => sym);\n if (!shown.length)\n return void 0;\n return `${symbols.get(\"object\")} = ${glyph(asked, \"open\")}${shown.join(\", \")}${glyph(asked, \"close\")}${gloss.length ? ` ${gloss.join(\" \")}` : \"\"}`;\n};\nvar aligned = (asked) => {\n const held = object(asked);\n const chosen = listed(asked, \"notation/formulas\");\n const own = (chosen.length ? chosen : [...alphabet(of(held, \"restsOn\")).members, of(held, \"scope\")]).flatMap((scope) => formulas(asked).filter((line) => of(line, \"scope\").startsWith(`${scope}/`))).map((line) => of(line, \"value\"));\n const cut = (text) => hull([\"=\", glyph(asked, \"iff\"), glyph(asked, \"member\")].map((mark2) => text.indexOf(` ${mark2} `)).concat(text.indexOf(\": \")).filter((i) => i > 0)).lo;\n const side = hull(own.map((text) => text.slice(0, cut(text)).length)).hi;\n return own.map((text) => `${text.slice(0, cut(text)).padEnd(side)} ${text.slice(cut(text)).trimStart()}`);\n};\nvar moves = (asked) => {\n const [renders, at] = [pairs(asked, \"notation/renders\"), value(asked, \"notation/moves\") ?? \"\"];\n const split = (edge) => [edge.slice(0, edge.indexOf(\"\\u2192\")), edge.slice(edge.indexOf(\"\\u2192\") + 1)];\n const edges = alphabet(receiptValue(asked, \"laws\", \"said/moves\", at) ?? \"\").members.map(split);\n const known = (state3) => renders.some(([one]) => one === state3);\n const said = receipts(asked, \"laws\").filter((one) => placeOf(one) === at);\n const dangerous = alphabet(of(said.find((one) => of(one, \"scope\").endsWith(\"/dangerous\")), \"value\")).members.map(split);\n const moved = (one) => split(of(one, \"scope\").slice(of(one, \"scope\").lastIndexOf(\"/why/\") + \"/why/\".length));\n const whyOf = ([from, to]) => of(said.find((one) => of(one, \"scope\").includes(\"/why/\") && moved(one)[0] === from && (moved(one)[1] === to || !known(moved(one)[1]))), \"value\");\n if (!renders.length || !edges.length)\n return void 0;\n return edges.filter(([from, to]) => from !== to && known(from) && known(to)).sort(([a, b], [c, d]) => a === c ? b < d ? -1 : b > d ? 1 : 0 : a < c ? -1 : 1).map((edge) => ({ from: edge[0], to: edge[1], dangerous: dangerous.some(([from, to]) => from === edge[0] && to === edge[1]), why: whyOf(edge) }));\n};\n\n// ../provider-closure/world/dist/helpers/records.js\nvar entries = (asked, family) => {\n const held = asked.lines.filter((line) => of(line, \"scope\").startsWith(`${family}/`));\n return [...new Set(held.map((line) => of(line, \"scope\")))].map((scope) => {\n const own = held.filter((line) => of(line, \"scope\") === scope);\n return {\n scope,\n title: own.map((line) => of(line, \"about\")).find(Boolean) ?? words(asked, scope.slice(scope.indexOf(\"/\") + 1)),\n field: (measure) => ((line) => line === void 0 ? void 0 : of(line, \"value\"))(own.find((line) => of(line, \"measure\") === measure))\n };\n });\n};\nvar typedAs = (asked, head, type, beside) => [...new Map(receipts(asked, \"source\").filter((line) => of(line, \"scope\").startsWith(head) && receiptValue(asked, \"source\", of(line, \"scope\"), placeOf(line), \"type\") === type).map((line) => [`${placeOf(line)} ${of(line, \"scope\")}`, [of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1), receiptValue(asked, \"source\", of(line, \"scope\"), placeOf(line), beside) ?? \"\"]])).values()];\n\n// ../provider-closure/world/dist/helpers/shown.js\nvar NUMBER = /(? [...receipts(asked, \"state\"), ...receipts(asked, \"cases\"), ...receipts(asked, \"captures\"), ...receipts(asked, \"laws\")].flatMap((line) => [of(line, \"value\"), of(line, \"scope\")]).filter(Boolean);\nvar captured = (asked, name) => {\n const got = receiptValue(asked, \"captures\", `capture/${name}`);\n return got && got !== \"none\" ? got : void 0;\n};\nfunction unreceipted(asked) {\n const held = new Set(receipted(asked));\n const commands = prose(asked, \"commands\") ?? \"\";\n const idea = prose(asked, \"idea\") ?? \"\";\n const typed = commands.split(\"\\n\").filter((line) => TYPED.test(line)).length;\n const loose = [...`${idea}\n${commands}`.matchAll(NUMBER)].map((one) => one[0]).filter((n) => ![...held].some((said) => said.includes(n))).length;\n return typed + loose;\n}\n\n// ../provider-closure/world/dist/regions/alphabet.js\nvar render = (asked) => [\n `## ${prose(asked, \"reference/alphabet\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/alphabet-table\") ?? \"\",\n \"|---|---|\",\n ...[\"notation/cell\", \"notation/types\"].flatMap((scope) => pairs(asked, scope).map(([members, symbol]) => `| ${cellText(symbol)} | ${cellText(members)} |`))\n];\n\n// ../provider-closure/world/dist/regions/bond.js\nvar render2 = (asked) => {\n const first = shortest(asked);\n const cell2 = first === void 0 ? void 0 : cellOf(asked, first.at);\n if (cell2 === void 0)\n return [];\n const [held, alone, broken] = states(asked);\n const last = states(asked)[states(asked).length - 1]?.name;\n const [meets, { r, top, bottom, apart, axis }, mark2] = [SPANS.inhabited(cell2.held), spacing(asked, \"bond\"), look(asked, \"width/mark\")];\n const [mid, stroke] = [px(numeral(mark2) * axis), { stroke: alone?.colour, \"stroke-width\": look(asked, \"stroke/mark\"), \"stroke-linecap\": look(asked, \"stroke/cap\") }];\n const title = meets ? say(asked, \"cell/bond\", { count: cell2.claims.length }) : `${cell2.claims.length} ${say(asked, \"cell/apart\", { apart: prose(asked, \"apart\") ?? \"\" })}`;\n return [\n ``,\n `${title}`,\n ...meets ? [``] : [],\n ``,\n ``,\n \"\"\n ];\n};\n\n// ../provider-closure/world/dist/regions/cff.js\nvar render3 = (asked) => {\n const doiOf = (field) => value(asked, \"sources/doi\") === void 0 ? void 0 : field(\"doi\");\n const [paper, name] = [entries(asked, \"cites\").find((one) => doiOf(one.field) !== void 0), value(asked, \"name\")];\n if (name === void 0)\n return [];\n const quoted = (text) => JSON.stringify(text);\n const person = (who, indent) => (([family = \"\", ...given]) => given.length ? [`${indent}- family-names: ${quoted(family)}`, `${indent} given-names: ${quoted(given.join(\", \"))}`] : [`${indent}- name: ${quoted(who)}`])(who.split(\", \"));\n const optional = (key, scope) => ((said) => said === void 0 ? [] : [`${key}: ${quoted(said)}`])(value(asked, scope));\n const [authors, year, version, publisher] = [alphabet(paper?.field(\"author\") ?? \"\").members, paper?.field(\"year\"), paper?.field(\"version\"), paper?.field(\"publisher\")];\n const preferred = paper === void 0 ? [] : [\n \"preferred-citation:\",\n \" type: article\",\n ` title: ${quoted(paper.title)}`,\n ...authors.length ? [\" authors:\", ...authors.flatMap((one) => person(one, \" \"))] : [],\n ...year !== void 0 && Number.isInteger(numeral(year)) ? [` year: ${year}`] : [],\n ...version === void 0 ? [] : [` version: ${quoted(version)}`],\n ...publisher === void 0 ? [] : [\" publisher:\", ` name: ${quoted(publisher)}`],\n ` doi: ${quoted(doiOf(paper.field) ?? \"\")}`\n ];\n return resolved(asked, [\n \"cff-version: 1.2.0\",\n `message: ${quoted(paper ? say(asked, \"cff/paper\", { title: paper.title }) : say(asked, \"cff/name\", { name }))}`,\n \"type: software\",\n `title: ${quoted(name)}`,\n ...optional(\"version\", \"version\"),\n ...((author) => author === void 0 ? [] : [\"authors:\", ...person(author, \" \")])(value(asked, \"author\")),\n ...optional(\"repository-code\", \"repository\"),\n ...optional(\"license\", \"license\"),\n ...preferred\n ]);\n};\n\n// ../provider-closure/world/dist/regions/check.js\nvar render4 = (asked) => {\n const [glyph2, folds] = [states(asked)[0]?.glyph ?? \"\", asked.lines.find((one) => of(one, \"scope\") === \"fold\" && of(one, \"role\") === \"writes\")];\n const [repository, resolvedAt, command] = [value(asked, \"repository\"), value(asked, \"repository/resolved\"), value(asked, \"check\")];\n const how = [\n ...repository === void 0 || resolvedAt === void 0 ? [] : [say(asked, \"check/repository\", { glyph: glyph2, repository })],\n ...command === void 0 ? [] : [say(asked, \"check/command\", { glyph: glyph2, check: command })],\n ...folds === void 0 ? [] : [say(asked, \"check/fold\", { fold: of(folds, \"value\"), about: of(folds, \"about\") })]\n ];\n return resolved(asked, [...section(asked, \"check\"), say(asked, \"check/held\", { glyph: glyph2, count: receiptValue(asked, \"cases\", \"cases/held\") ?? 0 }), ...how.length ? [\"\", how.join(\" \\xB7 \")] : []]);\n};\n\n// ../provider-closure/world/dist/regions/claims.js\nvar reading = (asked, glob) => {\n const held = Object.values(asked.regions).flatMap((region) => region.receipts).filter((line2) => matches(glob, of(line2, \"scope\")));\n if (held.length > 1)\n throw new Error(`REFUSE\\xB7claim ${asked.region}@${asked.at}: ${glob} names ${held.length} receipts without a resolved value`);\n if (held.length === 1)\n return of(held[0], \"value\");\n const line = found(asked, glob);\n if (line === void 0 || of(line, \"value\") === \"withdraw\")\n return void 0;\n return of(line, \"form\") === \"interval\" ? of(line, \"value\") : of(line, \"form\") === \"alphabet\" ? String(listed(asked, glob).length) : void 0;\n};\nvar render5 = (asked) => {\n const here = folder(asked.shape);\n const held = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"claims/\") && of(line, \"value\") !== \"withdraw\").sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\")));\n const bullet = (scope, value2, needs) => {\n const [page] = alphabet(needs).members;\n const read = fields(value2).map(([name, glob]) => [name, reading(asked, glob)]);\n if (read.some(([, got]) => got === void 0))\n return [];\n const said = sentence(asked, say(asked, scope, Object.fromEntries(read.map(([name, got]) => [name, got ?? \"\"]))));\n if (!said)\n return [];\n return [`- **${said}**${page === void 0 ? \"\" : ` \\xB7 [${prose(asked, \"claims/receipt\") ?? \"\"}](${relative(here, page)})`}`];\n };\n const rows = held.flatMap((line) => bullet(of(line, \"scope\"), of(line, \"value\"), of(line, \"needs\")));\n return resolved(asked, rows.length ? [...section(asked, \"claims\"), ...rows] : []);\n};\n\n// ../provider-closure/world/dist/regions/commands.js\nvar render6 = (asked) => {\n const said = prose(asked, \"commands\");\n const out = captured(asked, \"quickstart\");\n const usage = captured(asked, \"usage\");\n const blocks = [\n ...said ? [\"```bash\", said, \"```\"] : [],\n ...out ? [\"```\", out, \"```\"] : [],\n ...usage ? [\"```\", usage, \"```\"] : []\n ];\n return resolved(asked, blocks);\n};\n\n// ../provider-closure/world/dist/regions/door.js\nvar render7 = (asked) => {\n const drawn3 = figured(asked, \"ranges\", 1)[0];\n const figure = drawn3 === void 0 ? void 0 : figureAt(drawn3);\n const one = figure === void 0 ? void 0 : shortest(asked);\n const cell2 = one === void 0 ? void 0 : cellOf(asked, one.at);\n const [what] = alphabet(of(found(asked, \"docs/what\"), \"needs\")).members;\n const parts2 = [\n ...figure !== void 0 && cell2 !== void 0 ? [image(asked, figure, cell2)] : [],\n ...what === void 0 ? [] : [((link, words2) => words2 ? `${say(asked, `${asked.region}/what`)} [${words2}](${link})` : `[${say(asked, `${asked.region}/what`)}](${link})`)(relative(folder(asked.shape), what), prose(asked, `${asked.region}/words`))]\n ];\n return resolved(asked, parts2.flatMap((part, i) => i ? [\"\", part] : [part]));\n};\n\n// ../provider-closure/world/dist/regions/unreceipted.js\nvar receipt = (asked) => counted({ ...asked, region: \"door\" }, \"unreceipted\", unreceipted(asked), \"unreceipted\");\n\n// ../provider-closure/world/dist/regions/figure.js\nvar render8 = (asked) => {\n const first = shortest(asked);\n const cell2 = first === void 0 ? void 0 : cellOf(asked, first.at);\n const at = figured(asked, \"ranges\", 1).map(figureAt).find(Boolean);\n const marks = prose(asked, \"marks\");\n return resolved(asked, at === void 0 || cell2 === void 0 ? [] : [image(asked, at, cell2), ...marks === void 0 ? [] : [\"\", marks]]);\n};\n\n// ../provider-closure/world/dist/regions/figure-fold.js\nvar render9 = (asked) => {\n const lines = declaredSample(asked, figured(asked, asked.region, 1)[0]);\n const cell2 = cellOfLines(lines.filter((line) => of(line, \"scope\") === of(lines[0], \"scope\")));\n const named = listed(asked, \"form/figure/fold\");\n const [claimed, met, apart] = named.map((state3) => rendered(asked, state3));\n const [g, wide] = [spacing(asked, \"fold\"), numeral(look(asked, \"width/figure\"))];\n const away = cell2?.rest?.who;\n const held = cell2 === void 0 ? void 0 : SPANS.inhabited(cell2.held) ? cell2.held : cell2.rest?.held;\n const said = cell2 === void 0 ? [] : [\n held === void 0 ? \"\" : say(asked, \"figure/fold/together\", { ...held, state: (named[1] ?? \"\").toLowerCase() }),\n away === void 0 || held === void 0 ? \"\" : say(asked, \"figure/fold/apart\", { who: away, state: cell2.state.toLowerCase() }),\n away === void 0 || held === void 0 || !Number.isFinite(g.back) ? \"\" : say(asked, \"figure/fold/back\", { ...held })\n ].filter(Boolean);\n const x = (v) => cell2 === void 0 ? NaN : between(v, [cell2.hull.lo - g.pad, cell2.hull.hi + g.pad], [g.margin, wide - g.margin]);\n const rows = cell2 === void 0 ? [] : cell2.claims.filter((claim) => claim.origin !== away);\n const out = cell2?.claims.find((claim) => claim.origin === away);\n const height = (rows.length + (out ? 1 : 0) + 1) * g.row + said.length * g.say + g.say;\n const bar = (lo, hi, y, body) => `${body}`;\n const fade = (begin) => ``;\n const turn = (from, to, begin) => ``;\n return drawn2(asked, cell2 === void 0 || held === void 0 || !said.length ? [] : [\n ``,\n ...style([css([[\"text\", { ...font(asked, \"text\", \"text\"), fill: painted(asked, \"text\").colour }]])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ``,\n ...rows.map((claim, i) => bar(claim.span.lo, claim.span.hi, g.top + i * g.row, `${out ? turn(claimed?.colour, apart?.colour, g.set) : \"\"}${out && Number.isFinite(g.back) ? turn(apart?.colour, claimed?.colour, g.back) : \"\"}`)),\n bar(held.lo, held.hi, g.top + rows.length * g.row, `${turn(claimed?.colour, met?.colour, g.meet)}${out ? turn(met?.colour, apart?.colour, g.set) : \"\"}${out && Number.isFinite(g.back) ? turn(apart?.colour, met?.colour, g.back) : \"\"}`),\n ...out ? [bar(out.span.lo, out.span.hi, g.top + (rows.length + 1) * g.row + g.gap, `${turn(claimed?.colour, apart?.colour, g.set)}${Number.isFinite(g.back) ? `` : \"\"}`)] : [],\n ...said.map((one, i) => `${escaped(one)}${fade(g.speak + i * g.meet)}`),\n \"\"\n ], listOf(asked, said), \"figure/fold\", ((caption) => caption ? [sentence(asked, caption)] : [])(cell2 === void 0 ? \"\" : captioned(asked, cell2)));\n};\n\n// ../provider-closure/world/dist/regions/figure-line.js\nvar render10 = (asked) => {\n const line = declaredSample(asked, figured(asked, asked.region, 1)[0])[0];\n const rows = listed(asked, \"form/figure/line\").map((field) => [field, of(line, field)]).filter(([, said]) => said !== \"\");\n const [held] = states(asked);\n const [g, wide] = [spacing(asked, \"line\"), look(asked, \"width/figure\")];\n const alt = line === void 0 ? \"\" : say(asked, \"figure/line\", { scope: of(line, \"scope\"), count: rows.length });\n const height = px(g.top + rows.length * g.row);\n return drawn2(asked, rows.length ? [\n ``,\n ...style([css([[\"text\", { ...font(asked, \"code\", \"code\"), fill: painted(asked, \"text\").colour }], [\".field\", { fill: held?.colour, \"font-weight\": look(asked, \"weight/strong\") }]])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ...rows.flatMap(([field, said], i) => [`${escaped(field)}`, `${escaped(said)}`]),\n \"\"\n ] : [], alt, \"figure/line\", alt ? [sentence(asked, alt)] : []);\n};\n\n// ../provider-closure/world/dist/regions/figure-refuses.js\nvar render11 = (asked) => {\n const told = refusedCase(asked);\n const [, , forbidden] = states(asked);\n const [g, wide] = [spacing(asked, \"refuses\"), look(asked, \"width/figure\")];\n const alt = told === void 0 || !told.input || !told.why ? \"\" : say(asked, \"figure/refuses\", { input: told.input, why: told.why });\n return drawn2(asked, told !== void 0 && alt ? [\n ``,\n ...style([\n css([[\"text\", { ...font(asked, \"text\", \"text\"), fill: painted(asked, \"text\").colour }], [\".cross\", { fill: forbidden?.colour, \"font-weight\": look(asked, \"weight/strong\") }]]),\n css([[\".asked\", { ...font(asked, \"code\", \"code\"), fill: forbidden?.colour, \"text-decoration\": \"line-through\" }]])\n ], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n `${escaped(forbidden?.glyph ?? \"\")}`,\n `${escaped(told.input)}`,\n `${escaped(told.why)}`,\n \"\"\n ] : [], alt, \"figure/refuses\");\n};\n\n// ../provider-closure/world/dist/regions/figure-world.js\nvar render12 = (asked) => {\n const shown = examples(asked).find((one) => one.name === value(asked, \"docs/world\"));\n const own = shown === void 0 ? regionLines(asked, \"capsule\") : handed([\"**\"], shown.printed.split(\"\\n\"));\n const said = (scope) => of(own.find((line) => of(line, \"scope\") === scope), \"value\");\n const nameOf = (line) => of(line, \"scope\").slice(of(line, \"scope\").indexOf(\"/\") + 1);\n const declared = own.filter((line) => of(line, \"scope\").startsWith(\"region/\") && of(line, \"measure\") === \"reads\");\n const regions = [...new Set(declared.map(nameOf))].sort();\n const ordered = [...declared].sort((a, b) => nameOf(a) < nameOf(b) ? -1 : nameOf(a) > nameOf(b) ? 1 : 0);\n const dir = value(asked, `form/runtime/${said(\"capsule/runtime\")}/regions`);\n const files = dir === void 0 || shown !== void 0 ? [] : receipts(asked, \"source\").map(placeOf).filter((at) => at.startsWith(dir) && regions.includes(stem(at)));\n const longest = hull([0, ...[...new Set(files)].map((at) => numeral(receiptValue(asked, \"source\", \"source/lines\", at)) || 0)]).hi;\n const uses = own.find((line) => of(line, \"scope\").startsWith(\"uses/\"));\n const release = new Set([said(\"capsule/topos\"), shown === void 0 ? value(asked, `uses/${asked.name}`) ?? \"\" : \"\"].filter((one) => one.startsWith(\"sha256:\")));\n const blob = shown === void 0 ? \"\" : of(uses, \"value\");\n const pin = blob.startsWith(\"sha256:\") && !release.has(blob) ? blob : \"\";\n const stages = [\n say(asked, \"figure/world/declares\", { domain: said(\"capsule/domain\"), runtime: said(\"capsule/runtime\"), effects: said(\"capsule/effects\") }),\n ...shown === void 0 ? [say(asked, \"figure/world/regions\", { count: regions.length, longest }), say(asked, \"figure/world/vectors\", { count: receipts(asked, \"vectors\").length })] : ordered.map((line) => say(asked, \"figure/world/region\", { name: nameOf(line), reads: of(line, \"value\") })),\n ...pin ? [say(asked, \"figure/world/pinned\", { place: asked.name })] : [],\n ...shown !== void 0 && pin ? [say(asked, \"figure/world/adopted\", { scope: of(uses, \"scope\") })] : [],\n say(asked, \"figure/world/host\", { runtime: said(\"capsule/runtime\") })\n ].filter((stage) => Boolean(stage));\n const [held, alone] = states(asked);\n const g = spacing(asked, \"world\");\n const [height, wide] = [stages.length * g.pitch, hull([numeral(look(asked, \"width/figure\")), Math.ceil(g.margin + hull([0, ...stages.map((stage) => stage.length)]).hi * g.char)]).hi];\n return drawn2(asked, own.length && stages.length ? [\n ``,\n ...style([css([[\"text\", { ...font(asked, \"code\", \"small\"), fill: painted(asked, \"text\").colour }], [\"rect\", { fill: \"none\", stroke: alone?.colour }], [\"line\", { stroke: held?.colour }]])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ...stages.flatMap((stage, i) => [\n ``,\n `${escaped(stage)}`,\n ...i ? [``] : []\n ]),\n \"\"\n ] : [], listOf(asked, stages), \"figure/world\");\n};\n\n// ../provider-closure/world/dist/regions/first-use.js\nvar render13 = (asked) => ((first) => first === void 0 ? [] : [...section(asked, \"first-use\"), say(asked, \"first-use/lead\", { name: first.name }), \"\", ...glance(asked, first, folder(asked.shape))])(shortest(asked));\n\n// ../provider-closure/world/dist/regions/forms.js\nvar render14 = (asked) => [\n `## ${prose(asked, \"reference/forms\") ?? \"\"}`,\n \"\",\n ...[...new Set(typedAs(asked, \"source/declared/\", value(asked, \"docs/forms\") ?? \"\", \"args\").map(([name, args]) => `- ${say(asked, \"reference/form\", { name, args: cellText(args) })}`))].sort()\n];\n\n// ../provider-closure/world/dist/regions/guide-at-zero.js\nvar render15 = (asked) => resolved(asked, [\n `# ${prose(asked, \"guide/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"contributing\", { check: value(asked, \"check\") ?? say(asked, \"guide/owed\"), open: count(asked, laws(asked).filter((line) => of(line, \"kind\") === \"conjecture\").length, true) })\n]);\n\n// ../provider-closure/world/dist/regions/hero.js\nvar badges = (asked) => {\n const [held, alone] = states(asked);\n const part = (text) => encodeURIComponent(text.split(\"-\").join(\"--\").split(\"_\").join(\"__\").split(\" \").join(\"_\"));\n const shield = (label, message, colour) => `![${label} ${message}](${value(asked, \"sources/badges\") ?? \"\"}/${part(label)}-${part(message)}-${(colour?.colour ?? \"\").slice(1)})`;\n const measured = (region, scope) => {\n const said = receiptValue(asked, region, scope);\n if (said === void 0)\n return void 0;\n for (const text of [said, `${said}..${said}`]) {\n try {\n const got = fromLine(canonical({ at: \"place:badge\", by: \"reader\", form: \"interval\", measure: \"count\", role: \"reads\", scope, value: text }), null);\n if (got.kind !== \"fact\" || got.value.bound.kind !== \"interval\")\n continue;\n const { lo, hi } = got.value.bound;\n if (lo !== null && lo === hi && Number.isFinite(lo))\n return lo;\n } catch {\n }\n }\n return void 0;\n };\n const cases = measured(\"cases\", \"cases/held\");\n const depends = found(asked, \"dependencies\") === void 0 ? void 0 : listed(asked, \"dependencies\").length;\n const verdict = receiptValue(asked, \"state\", \"second/verdict\");\n const doi = entries(asked, \"cites\").map((one) => value(asked, \"sources/doi\") === void 0 ? void 0 : one.field(\"doi\")).find(Boolean);\n const valued = (key) => {\n const said = value(asked, key);\n if (said === void 0)\n return [];\n const label = say(asked, `badge/${key}`) || key;\n const message = said === label || said.startsWith(`${label} `) ? said.slice(label.length).trim() : said;\n return message === \"\" ? [] : [shield(label, message, alone)];\n };\n const n = (scope) => measured(\"state\", scope);\n const digest = receiptValue(asked, \"state\", \"release/digest\") ?? \"\";\n const lawCounts = [\"verdict/met\", \"verdict/short\", \"verdict/over\", \"verdict/refused\", \"verdict/forks\"].map(n);\n const complete = verdict !== void 0 && lawCounts.every((one) => one !== void 0);\n const broken = !complete || lawCounts.slice(1).some((one) => one !== 0) || verdict !== \"agrees\";\n const drawn3 = {\n dependencies: () => depends === void 0 ? [] : [shield(say(asked, \"badge/dependencies\"), String(depends), depends ? alone : held)],\n cases: () => cases !== void 0 ? [shield(say(asked, \"badge/cases\"), say(asked, \"badge/held\", { count: cases }), held)] : [],\n verify: () => verdict === void 0 ? [] : [shield(say(asked, \"badge/verify\") || \"verify\", verdict, verdict === \"agrees\" ? held : alone)],\n doi: () => doi === void 0 ? [] : [`[${shield(say(asked, \"badge/doi\"), doi, alone)}](${value(asked, \"sources/doi\") ?? \"\"}${doi})`],\n release: () => digest ? [shield(say(asked, \"badge/release\") || \"release\", digest.replace(/^[^:]*:/, \"\").slice(0, 12), held)] : [],\n claims: () => ((c) => c !== void 0 ? [shield(say(asked, \"badge/claims\") || \"claims\", String(c), held)] : [])(n(\"verdict/claims\")),\n second: () => ((c) => c === void 0 ? [] : [shield(say(asked, \"badge/second\") || \"second\", String(c), verdict === \"agrees\" ? held : alone)])(n(\"verdict/met\")),\n laws: () => complete ? [shield(say(asked, \"badge/laws\") || \"laws\", `${lawCounts[0]}/${lawCounts.slice(0, 4).reduce((sum, one) => sum + (one ?? 0), 0)}`, broken ? alone : held)] : []\n };\n const named = found(asked, \"docs/badges\") !== void 0 ? listed(asked, \"docs/badges\") : listed(asked, \"wire/badges/world\").length ? listed(asked, \"wire/badges/world\") : listed(asked, \"audit/wire/badges/world\");\n return [named.flatMap((name) => (drawn3[name] ?? (() => valued(name)))()).join(\" \")];\n};\nvar render16 = (asked) => [\n ...((logo) => logo === void 0 ? [] : [`\"\"${attrs({

`, \"\"])(value(asked, \"docs/logo\")),\n `# ${value(asked, \"name\") ?? asked.name}`,\n \"\",\n ...badges(asked),\n ...((what) => what === void 0 ? [] : [\"\", sentence(asked, what)])(of(found(asked, \"docs/tagline\"), \"about\") || prose(asked, \"what\"))\n];\n\n// ../provider-closure/world/dist/regions/how-they-rest.js\nvar render17 = (asked) => {\n const where = (glob) => asked.lines.filter((line) => matches(glob, of(line, \"scope\")));\n const packages = new Map(where(\"*/name\").map((line) => [of(line, \"value\"), steps(of(line, \"scope\"))[0] ?? \"\"]));\n const among = where(\"*/dependencies\").flatMap((line) => alphabet(of(line, \"value\")).members.map((spec) => [...packages].find(([name]) => spec.startsWith(`${name}@`))?.[1]).filter((to) => to !== void 0).map((to) => ` ${steps(of(line, \"scope\"))[0] ?? \"\"} --> ${to}`)).sort(byBytes);\n const summary = asked.lines.find((line) => of(line, \"scope\").startsWith(`prose/${lang(asked)}/`) && of(line, \"scope\").endsWith(\"/rests\"));\n if (among.length)\n return zoom(of(summary, \"about\"), [\"```mermaid\", \"flowchart RL\", ...among, \"```\"]);\n const prefix = ((name) => name.slice(0, name.lastIndexOf(\"/\") + 1))(value(asked, \"name\") ?? \"\");\n const depends = alphabet(value(asked, \"dependencies\") ?? \"\").members;\n const needed = [...new Set(where(\"needs/*\").map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))].filter((one) => one && one !== asked.name);\n const pinned = [...new Set(where(\"uses/*\").map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))].filter((one) => depends.some((spec) => spec.startsWith(`${prefix}${one}@`)));\n const read = [...new Set(where(\"dep/*\").filter((line) => of(line, \"role\") === \"reads\").map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))];\n const rests2 = (needed.length ? needed : pinned.length ? pinned : read).filter((one) => one && one !== asked.name).sort(byBytes);\n return rests2.length ? [...((heading2) => heading2 ? [`## ${heading2}`, \"\"] : [])(prose(asked, \"rests/heading\")), say(asked, \"rests/on\", { names: listOf(asked, rests2) })] : [];\n};\n\n// ../provider-closure/world/dist/regions/idea.js\nvar render18 = (asked) => resolved(asked, titled(asked, \"idea\", parted(asked, \"idea\")));\n\n// ../provider-closure/world/dist/regions/line.js\nvar render19 = (asked) => {\n const pin = value(asked, `sources/${asked.name}`);\n if (pin === void 0)\n return [];\n const uses = value(asked, `uses/${asked.name}`) ?? \"\";\n const shown = [pin, ...uses && !uses.startsWith(\"sha256:\") ? [uses] : []];\n return resolved(asked, shown);\n};\n\n// ../provider-closure/world/dist/regions/install.js\nvar render20 = (asked) => {\n if (found(asked, `uses/${asked.name}`) !== void 0 || found(asked, `sources/${asked.name}`) !== void 0)\n return render19(asked);\n const [how, name] = [value(asked, \"install\"), value(asked, \"name\")];\n return resolved(asked, how === void 0 || name === void 0 ? [] : [\"```bash\", `${how} ${name}`, \"```\"]);\n};\n\n// ../provider-closure/world/dist/regions/learn.js\nvar restsOn = (asked, called, shown) => {\n const ids = /* @__PURE__ */ new Map();\n const offered = (call) => offers(asked).find((line) => of(line, \"scope\").endsWith(`/${call}`));\n const calls = called.filter((call) => offers(asked).some((line) => of(line, \"scope\").endsWith(`/${call}`) && of(line, \"restsOn\") !== \"\"));\n const edges = calls.flatMap((call, i) => alphabet(of(offered(call), \"restsOn\")).members.map((on) => ` c${i} --> ${ids.get(on) ?? ids.set(on, `l${ids.size}`).get(on)}`));\n const colour = states(asked)[0]?.colour;\n return edges.length ? [\n \"```mermaid\",\n \"flowchart LR\",\n ...calls.map((call, i) => ` c${i}[\"${call}\"]`),\n ...[...ids].map(([scope, id]) => ` ${id}([\"${labelOf(asked, scope)}\"])`),\n ...edges,\n ...classDef(\"shown\", colour, painted(asked, \"text-on\").colour),\n ` class ${ids.get(shown) ?? \"\"} shown`,\n \"```\"\n ] : [];\n};\nvar render21 = (asked) => {\n const one = examples(asked).find((example) => example.name === stem(asked.shape));\n if (one === void 0)\n return ((first) => first === void 0 ? [] : [\n ...section(asked, \"learn\"),\n ...glance(asked, first, folder(asked.shape)),\n ...((caption) => caption ? [\"\", sentence(asked, caption)] : [])(((cell3) => cell3 === void 0 ? \"\" : captioned(asked, cell3))(cellOf(asked, first.at)))\n ])(examples(asked).find((example) => example.name === value(asked, \"docs/learn\")) ?? shortest(asked));\n const called = receipts(asked, \"source\").filter((line) => placeOf(line) === one.at && of(line, \"scope\") === \"source/calls\").flatMap((line) => alphabet(of(line, \"value\")).members);\n const rests2 = /* @__PURE__ */ new Map();\n for (const call of called)\n for (const on of alphabet(of(offers(asked).find((line) => of(line, \"scope\").endsWith(`/${call}`)), \"restsOn\")).members)\n rests2.set(on, (rests2.get(on) ?? 0) + 1);\n const shown = [...rests2].sort((a, b) => b[1] - a[1] || byBytes(a[0], b[0]))[0]?.[0];\n const stated2 = shown === void 0 ? void 0 : lawAt(asked, shown);\n const graph = stated2 === void 0 || shown === void 0 ? [] : restsOn(asked, called, shown);\n const [cell2, here] = [cellOf(asked, one.at), asked.shape.slice(0, asked.shape.lastIndexOf(\"/\"))];\n const drawn3 = figured(asked, \"ranges\", numeral(value(asked, \"form/page/statement\"))).map(figureAt).find((at) => at !== void 0 && stem(at) === one.name);\n const shownFigure = drawn3 !== void 0 && cell2 !== void 0 ? [image(asked, relative(here, drawn3), cell2), \"\", sentence(asked, captioned(asked, cell2))] : shown !== void 0 && shown === value(asked, \"notation/object\") ? graph : [];\n return resolved(asked, [\n `# ${heading(asked, one.name)}`,\n \"\",\n ...shownFigure.length ? [...shownFigure, \"\"] : [],\n ...stated2 ? [sentence(asked, of(stated2, \"about\")), \"\"] : [],\n `## ${prose(asked, \"learn/run\") ?? \"\"}`,\n \"\",\n ...run(asked, one),\n \"\",\n ...graph.length && shownFigure !== graph ? [`## ${prose(asked, \"learn/rests\") ?? \"\"}`, \"\", ...graph, \"\"] : [],\n ...titled(asked, \"learn/source\", [say(asked, \"learn/source\", { at: relative(here, one.at), place: asked.name })])\n ]);\n};\n\n// ../provider-closure/world/dist/regions/license.js\nvar render22 = (asked) => resolved(asked, asked.lines.filter((line) => of(line, \"scope\") === \"license\" && of(line, \"about\") !== \"\").flatMap((line) => of(line, \"about\").split(\"\\n\")));\n\n// ../provider-closure/world/dist/regions/media.js\nvar render23 = (asked) => {\n const [kept, sha] = [value(asked, \"form/page/media\"), \"sha256:\"];\n const [still, players] = [[\"svg\", \"png\", \"gif\"], [\"video\", \"audio\"]];\n const source = (said) => said.startsWith(sha) ? kept && fill(asked, \"page/media\", kept, { digest: said.slice(sha.length) }) : said;\n const embed = (form2, src, about) => still.includes(form2) ? `

` : players.includes(form2) ? `<${form2}${attrs({ src, width: form2 === players[0] ? look(asked, \"width/figure\") : void 0 })} controls>` : void 0;\n const lines = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"media/\")).sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\")));\n return lines.flatMap((line) => /* @__PURE__ */ ((one) => one ? [\"\", one] : [])(embed(of(line, \"measure\"), source(of(line, \"value\")), of(line, \"about\")))).slice(1);\n};\n\n// ../provider-closure/world/dist/regions/notation.js\nvar formulaLaw = (asked, formula) => lawAt(asked, of(formula, \"scope\").slice(0, of(formula, \"scope\").lastIndexOf(\"/\")));\nvar arrows = (asked) => {\n const held = object(asked);\n const module = held === void 0 ? void 0 : moduleOfObject(asked, held);\n const symbols = new Map(pairs(asked, \"notation/symbols\"));\n const made = module === void 0 || held === void 0 ? [] : resting(asked, of(held, \"scope\")).map((line) => of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1)).flatMap((name) => {\n const params = receiptLine(asked, \"source\", `source/arrow/${name}`, module, \"params\");\n const result = receiptValue(asked, \"source\", `source/arrow/${name}`, module, \"result\");\n if (params === void 0 || result === void 0)\n return [];\n const typed = fields(of(params, \"value\")).map(([name2, type]) => symbolOf(asked, type, name2));\n const makes = symbolOf(asked, result, \"value\") === symbols.get(\"object\") && !typed.some((one) => one === symbols.get(\"object\") || one === `[${symbols.get(\"object\")}]`);\n return makes ? [] : [[name, `${typed.join(` ${glyph(asked, \"product\")} `)} ${glyph(asked, \"maps\")} ${symbolOf(asked, result, \"value\")}`]];\n });\n const kind = pairs(asked, \"notation/types\").find(([, sym]) => sym === symbols.get(\"state\"))?.[0] ?? \"\";\n const union = alphabet(of([...receipts(asked, \"source\")].filter((one) => of(one, \"scope\") === `source/union/${kind}`).sort((a, b) => byBytes(placeOf(a), placeOf(b)))[0], \"value\")).members;\n const width = hull(made.map(([name]) => name.length)).hi;\n return [...made.map(([name, arrow]) => `${name.padEnd(width)} : ${arrow}`), ...union.length ? [`${symbols.get(\"state\")}(${symbols.get(\"object\")}) ${glyph(asked, \"member\")} {${union.join(\", \")}}`] : []];\n};\nvar render24 = (asked) => {\n const head = tuple(asked);\n if (head === void 0)\n return [];\n if (asked.at <= 0)\n return [\"```text\", head, \"```\"];\n if (asked.at <= 1)\n return [\"```text\", head, ...aligned(asked), \"```\"];\n const all = formulas(asked);\n if (!reaches(asked, \"whole\"))\n return [\"```text\", head, \"```\", \"\", ...all.map((line) => `- \\`${of(line, \"value\")}\\` \\u2014 ${of(formulaLaw(asked, line), \"about\")}.`)];\n return [\n `## ${prose(asked, \"reference/notation\") ?? \"\"}`,\n \"\",\n \"```text\",\n head,\n \"```\",\n \"\",\n prose(asked, \"notation/table\") ?? \"\",\n \"|---|---|---|\",\n ...all.map((line) => ((law) => `| \\`${cellText(of(line, \"value\"))}\\` | ${law === void 0 ? \"\" : lawName(asked, law)} | ${cellText(of(law, \"about\"))} |`)(formulaLaw(asked, line))),\n \"\",\n \"```text\",\n ...arrows(asked),\n \"```\"\n ];\n};\n\n// ../provider-closure/world/dist/regions/open.js\nvar render25 = (asked) => {\n const needed = asked.lines.filter((line) => matches(\"needs/*\", of(line, \"scope\")) && of(line, \"value\") !== \"withdraw\");\n if (needed.length)\n return resolved(asked, [...section(asked, \"open\"), \"\", ...needed.map((line) => `- ${of(line, \"about\") || of(line, \"scope\")}`)]);\n const facts = (family) => receipts(asked, \"state\").filter((line) => of(line, \"scope\").startsWith(`${family}/`)).sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))).map((line) => [of(line, \"scope\").slice(family.length + 1), of(line, \"value\")]);\n const said = (family) => facts(family).map(([scope, reading2]) => say(asked, `open/${family}`, { scope, reading: reading2 })).filter(Boolean).map((one) => `- ${one}`);\n const judged = facts(\"conjecture\").map(([scope, reading2]) => ((law) => law === void 0 ? say(asked, \"open/open\", { scope, reading: reading2 }) : conjectured(asked, law))(lawAt(asked, scope))).filter(Boolean);\n const held = judged.length ? judged : laws(asked).filter((line) => of(line, \"kind\") === \"conjecture\").map((law) => conjectured(asked, law));\n const [unpaid, outside] = [said(\"unpaid\"), said(\"outside\")];\n if (!held.length && !unpaid.length && !outside.length)\n return [];\n return resolved(asked, [...section(asked, \"open\"), ...[\n ...held.length ? [\"\", say(asked, judged.length ? \"open/judged\" : \"open/lead\", { count: count(asked, held.length, true) }), \"\", ...held.map((one) => `- ${one}`)] : [],\n ...unpaid.length ? [\"\", ...unpaid] : [],\n ...outside.length ? [\"\", ...outside] : []\n ].slice(1)]);\n};\n\n// ../provider-closure/world/dist/regions/open-conjectures.js\nvar render26 = (asked) => {\n const held = laws(asked).filter((line) => of(line, \"kind\") === \"conjecture\");\n if (!held.length)\n return [];\n const bullet = (line) => `- ${conjectured(asked, line)}`;\n const who = pairs(asked, \"open/who\");\n const groups = [...new Set(who.map(([group]) => group))].map((group) => [group, held.filter((line) => who.some(([g, one]) => g === group && lawKey(line) === one))]);\n const loose = held.filter((line) => !who.some(([, one]) => lawKey(line) === one));\n const full = held.map((line) => `${sentence(asked, of(line, \"about\"))} ${(sample(asked, line, \"no\").about ?? [])[0] ?? \"\"}`.trim());\n return resolved(asked, [\n `## ${prose(asked, \"open/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"open/lead\", { count: count(asked, held.length, true) }),\n ...groups.flatMap(([group, lines]) => lines.length ? [\"\", say(asked, \"open/group\", { count: count(asked, lines.length, true), group }), \"\", ...lines.map(bullet)] : []),\n ...loose.length ? [\"\", ...loose.map(bullet)] : [],\n \"\",\n ...zoom(say(asked, \"open/full\"), full.flatMap((part) => [part, \"\"]).slice(0, -1))\n ]);\n};\n\n// ../provider-closure/world/dist/regions/operations.js\nvar render27 = (asked) => {\n const read = new Map(receipts(asked, \"offers\").map((line) => [of(line, \"scope\"), of(line, \"value\")]));\n const signature = (line) => {\n const [op, module] = [of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1), moduleOf(asked, line)];\n const head = module === void 0 ? void 0 : receiptValue(asked, \"source\", `source/signature/${op}`, module);\n return head === void 0 ? say(asked, \"reference/owed\") : cellText(head);\n };\n return [\n `## ${prose(asked, \"reference/operations\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/operations-table\") ?? \"\",\n \"|---|---|---|---|---|\",\n ...[...offers(asked)].sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))).map((line) => {\n const [view = \"\", op = \"\"] = steps(of(line, \"scope\")).slice(1);\n return `| ${op} | ${view} | \\`${signature(line)}\\` | ${((n) => Number.isNaN(n) ? 0 : n)(numeral(read.get(`${of(line, \"scope\")}/no-samples`)))} | ${cellText(keys(asked, of(line, \"restsOn\"))) || say(asked, \"reference/unrested\")} |`;\n })\n ];\n};\n\n// ../provider-closure/world/dist/regions/pointers.js\nvar render28 = (asked) => {\n const written = new Set(receipts(asked, \"state\").filter((one) => of(one, \"measure\") === \"fact\" && of(one, \"value\") === \"present\").map((one) => of(one, \"scope\").slice(of(one, \"scope\").indexOf(\"/\") + 1)));\n const views = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"view/\") && of(line, \"role\") === \"demands\");\n const pages = [...new Map(views.filter((view) => of(view, \"shape\").endsWith(\".md\") && of(view, \"shape\").includes(\"/\") && written.has(of(view, \"shape\"))).map((view) => [of(view, \"shape\"), view])).values()];\n const learn = pages.filter((view) => alphabet(of(view, \"value\")).members.some((token) => atResolution(token).name === \"learn\")).sort((a, b) => byBytes(of(a, \"shape\"), of(b, \"shape\")));\n const rest = pages.filter((view) => !learn.includes(view)).map((view) => [heading(asked, stem(of(view, \"shape\")).toLowerCase()), of(view, \"shape\")]).sort((a, b) => byBytes(a[0], b[0]));\n const bullets = [\n ...rest.map(([title, shape]) => `- [${title}](${shape})`),\n ...learn.length ? [`- ${say(asked, \"pointers/learn\", { pages: learn.map((view) => `[${words(asked, stem(of(view, \"shape\")))}](${of(view, \"shape\")})`).join(\", \") })}`] : []\n ];\n return resolved(asked, bullets.length ? [...section(asked, \"pointers\"), ...bullets] : []);\n};\n\n// ../provider-closure/world/dist/regions/ranges.js\nvar render29 = (asked) => {\n const one = reaches(asked, \"statement\") ? examples(asked).find((example) => example.name === stem(asked.shape)) : shortest(asked);\n const lines = reaches(asked, \"statement\") ? [] : sampled(asked, ((law) => law === void 0 ? \"\" : sample(asked, law, \"yes\").at ?? \"\")(object(asked)))?.lines ?? [];\n const cell2 = cellOfLines(lines.filter((line) => of(line, \"scope\") === of(lines[0], \"scope\"))) ?? (one === void 0 ? void 0 : cellOf(asked, one.at));\n if (cell2 === void 0)\n return [];\n const [held, alone, , forked] = states(asked);\n const apart = (i) => SPANS.inhabited(cell2.claims.filter((_, j) => j !== i).reduce((all, other) => SPANS.meet(all, other.span), SPANS.top));\n const g = spacing(asked, \"ranges\");\n const beat = (attribute, from, to) => from === void 0 || to === void 0 ? \"\" : ``;\n const [width, left, top, row] = [numeral(look(asked, \"width/figure\")), g.left, g.top, g.row];\n const right = width - g.right;\n const x = (v) => px(between(v, [cell2.hull.lo - g.pad, cell2.hull.hi + g.pad], [left, right]));\n const rows = [...cell2.claims.map((one2) => ({ label: one2.origin, ...one2.span, kind: \"claim\" })), { label: say(asked, \"cell/held-row\"), ...cell2.held, kind: \"held\" }];\n const [axis, meets] = [top + rows.length * row + g.axis, SPANS.inhabited(cell2.held)];\n const height = axis + (meets ? g.poles : g.tail);\n return [\n ``,\n `${say(asked, \"cell/title\")}`,\n `${escaped(described(asked, cell2))}`,\n ...style([css([[\"text\", { ...font(asked, \"text\", \"text\"), fill: painted(asked, \"text\").colour }]]), css([\n [\".claim\", { fill: alone?.colour }],\n [\".held\", { fill: held?.colour }],\n [\".pole\", { fill: held?.colour, \"font-weight\": look(asked, \"weight/strong\") }],\n [\".axis,.tick\", { stroke: alone?.colour, \"stroke-width\": look(asked, \"stroke/rule\") }],\n [\".touch\", { stroke: held?.colour, \"stroke-width\": look(asked, \"stroke/rule\"), \"stroke-dasharray\": look(asked, \"stroke/dash\") }]\n ])], css([[\"text\", { fill: painted(asked, \"text-dark\").colour }]])),\n ...meets ? [cell2.held.lo, cell2.held.hi].map((v) => ``) : [],\n ...rows.flatMap((bar, i) => [\n `${escaped(bar.label)}`,\n bar.kind === \"held\" && !meets ? `${escaped(prose(asked, \"apart\") ?? \"\")}` : ` moves2 ? `>${moves2}` : \"/>\")(bar.kind === \"held\" ? beat(\"opacity\", \"0\", \"1\") : beat(\"fill\", alone?.colour, meets ? held?.colour : apart(i) ? forked?.colour : void 0))}`\n ]),\n ``,\n ...[.../* @__PURE__ */ new Set([cell2.hull.lo, cell2.held.lo, cell2.held.hi, cell2.hull.hi])].sort((a, b) => a - b).flatMap((v) => [``, `${v}`]),\n ...meets ? [`${say(asked, \"cell/floor\")}`, `${say(asked, \"cell/ceiling\")}`] : [],\n \"\"\n ];\n};\n\n// ../provider-closure/world/dist/regions/reading.js\nvar render30 = (asked) => {\n const rows = receipts(asked, \"source\").filter((line) => of(line, \"scope\") === \"source/answers\");\n const named = (at) => rows.filter((one) => stem(placeOf(one)) === stem(at)).length > 1 ? (([last, parent = last]) => parent)([...steps(at)].reverse()) ?? stem(at) : stem(at);\n const order2 = listed(asked, \"docs/reading\");\n const rank = (name) => ((at) => at < 0 ? order2.length : at)(order2.indexOf(name));\n const answered = rows.map((line) => [named(placeOf(line)), of(line, \"value\")]).sort((a, b) => rank(a[0]) - rank(b[0])).map(([name, answer]) => say(asked, \"reading/view\", { name, answer })).filter(Boolean).map((one) => `- ${one}`);\n return answered.length ? [...titled(asked, \"reading\", [say(asked, \"reading/lead\")]), \"\", ...answered] : [];\n};\n\n// ../provider-closure/world/dist/regions/reference.js\nvar render31 = (asked) => {\n const forms = new Set(typedAs(asked, \"source/declared/\", value(asked, \"docs/forms\") ?? \"\", \"args\").map(([name, args]) => `- ${say(asked, \"reference/form\", { name, args: cellText(args) })}`));\n return [`# ${prose(asked, \"reference/heading\") ?? \"\"}`, \"\", say(asked, \"reference/lead\", { operations: offers(asked).length, laws: laws(asked).filter((line) => of(line, \"form\") !== \"formula\").length, forms: forms.size })];\n};\n\n// ../provider-closure/world/dist/regions/refuses.js\nvar render32 = (asked) => {\n const told = refusedCases(asked);\n const here = folder(asked.shape);\n const captured2 = told.map((one) => `- ${one.name}: ${one.why || one.input}`).filter((one) => one.length > 3);\n if (captured2.length) {\n return resolved(asked, [...section(asked, \"refuses\"), ...say(asked, \"refuses/lead\") ? [say(asked, \"refuses/lead\")] : [], \"\", ...captured2]);\n }\n const kept = laws(asked).filter((line) => of(line, \"kind\") !== \"conjecture\" && sample(asked, line, \"no\").recorded).sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\")));\n const law = kept.find((line) => of(line, \"scope\") === value(asked, \"notation/object\")) ?? kept[0];\n const no = law === void 0 ? void 0 : sample(asked, law, \"no\");\n const said = [law === void 0 ? \"\" : say(asked, \"refuses/lead\", { law: lawName(asked, law), at: relative(here, no?.at ?? \"\") })].filter(Boolean);\n return said.length ? resolved(asked, [\n ...section(asked, \"refuses\"),\n ...said,\n ...no?.about?.length ? [\"\", ...zoom(say(asked, \"refuses/full\"), no.about.flatMap((line) => [line, \"\"]).slice(0, -1))] : []\n ]) : [];\n};\n\n// ../provider-closure/world/dist/regions/regions.js\nvar rules = (asked) => ((held) => !held.length ? [] : [\n `# ${prose(asked, \"regions/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"regions/laws\", { count: count(asked, held.length, true) }),\n \"\",\n prose(asked, \"regions/laws-table\") ?? \"\",\n \"|---|---|\",\n ...held.map((line) => `| ${steps(steps(of(line, \"scope\")).slice(1))} | ${cellText(of(line, \"about\"))} |`)\n])(asked.lines.filter((line) => of(line, \"scope\").startsWith(\"audit/\") && of(line, \"role\") === \"demands\" && of(line, \"about\") !== \"\").sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))));\nvar render33 = (asked) => {\n const own = [...asked.lines, ...regionLines(asked, \"capsule\")];\n const said = (scope, measure) => own.filter((line) => of(line, \"scope\") === scope && (measure === void 0 || of(line, \"measure\") === measure)).flatMap((line) => alphabet(of(line, \"value\")).members);\n const names = [...new Set(own.filter((line) => of(line, \"scope\").startsWith(\"region/\") && of(line, \"measure\") === \"reads\" || of(line, \"scope\").startsWith(\"capsule/reads/\")).map((line) => of(line, \"scope\").slice(of(line, \"scope\").lastIndexOf(\"/\") + 1)))].sort();\n return resolved(asked, !names.length ? rules(asked) : [\n `# ${prose(asked, \"regions/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"regions/lead\", { count: count(asked, names.length, true), effects: listOf(asked, said(\"capsule/effects\")) || alphabet({ polarity: \"permit\", members: [] }) }),\n \"\",\n prose(asked, \"regions/table\") ?? \"\",\n \"|---|---|---|\",\n ...names.map((name) => `| ${name} | ${cellText([...said(`region/${name}`, \"reads\"), ...said(`capsule/reads/${name}`)].join(\" \\xB7 \"))} | ${cellText([...said(`region/${name}`, \"writes\"), ...said(`capsule/writes/${name}`)].join(\" \\xB7 \")) || say(asked, \"regions/leaf\")} |`)\n ]);\n};\n\n// ../provider-closure/world/dist/regions/rested-on-by.js\nvar render34 = (asked) => {\n const said = receipts(asked, \"state\").filter((line) => of(line, \"scope\").startsWith(\"rested/\"));\n const field = (place, name) => of(said.find((line) => of(line, \"scope\") === `rested/${place}/${name}`), \"value\");\n const places = [...new Set(said.map((line) => steps(of(line, \"scope\"))[1] ?? \"\"))].filter((place) => field(place, \"source\")).sort(byBytes);\n return resolved(asked, places.length ? [...section(asked, \"rested\"), ...places.map((place) => `- ${say(asked, \"rested/place\", { place, repository: field(place, \"repository\") })}${field(place, \"what\") ? ` \\xB7 ${say(asked, \"rested/what\", { repository: field(place, \"repository\"), what: field(place, \"what\") })}` : \"\"}`)] : []);\n};\n\n// ../provider-closure/world/dist/regions/the-object.js\nvar machine = (asked) => {\n const [drawn3, renders] = [moves(asked), pairs(asked, \"notation/renders\")];\n if (drawn3 === void 0)\n return [];\n const colours = renders.flatMap(([state3, name]) => /* @__PURE__ */ ((colour) => colour === void 0 ? [] : [[state3, name, colour]])(painted(asked, state3).colour));\n return [\n \"```mermaid\",\n \"stateDiagram-v2\",\n ...renders.map(([state3, name]) => ` state \"${state3} \\xB7 ${name}\" as ${state3}`),\n ...drawn3.map((move) => ` ${move.from} --> ${move.to}${move.dangerous ? `: ${say(asked, \"states/dangerous\")}` : move.why ? `: ${move.why}` : \"\"}`),\n ...colours.flatMap(([, name, colour]) => classDef(name, colour, painted(asked, \"text-on\").colour)),\n ...colours.map(([state3, name]) => ` class ${state3} ${name}`),\n \"```\"\n ];\n};\nvar rests = (asked) => {\n const [held, on] = [object(asked), alphabet(of(object(asked), \"restsOn\")).members];\n if (held === void 0 || !on.length || !resting(asked, of(held, \"scope\")).length)\n return [];\n const colour = states(asked)[0]?.colour;\n return [\n `## ${prose(asked, \"reference/rests\") ?? \"\"}`,\n \"\",\n \"```mermaid\",\n \"flowchart BT\",\n ` o([\"${lawName(asked, held)}\"])`,\n ...on.map((scope, i) => ` r${i}([\"${labelOf(asked, scope)}\"])`),\n ...on.map((_, i) => ` o --> r${i}`),\n ...classDef(\"object\", colour, painted(asked, \"text-on\").colour),\n \" class o object\",\n \"```\"\n ];\n};\nvar render35 = (asked) => {\n if (reaches(asked, \"whole\"))\n return [`## ${prose(asked, \"reference/states\") ?? \"\"}`, \"\", ...machine(asked), \"\", ...rests(asked)];\n const head = tuple(asked);\n const written = head === void 0 ? [] : [\"```text\", head, ...aligned(asked), \"```\"];\n const [glyphs, rows] = [new Map(pairs(asked, \"notation/renders\").map(([state3]) => [state3, painted(asked, state3).glyph ?? \"\"])), pairs(asked, \"notation/states\")];\n const seen = /* @__PURE__ */ new Set();\n const unique = rows.filter(([, state3]) => seen.has(state3) ? false : (seen.add(state3), true));\n const [width, widest, gap] = [hull([0, ...unique.map(([when]) => when.length)]).hi, hull([0, ...unique.map(([, state3]) => state3.length)]).hi, spacing(asked, \"table/gap\")];\n const table2 = unique.length ? [\"```text\", ...unique.map(([when, state3]) => `${when.padEnd(width + gap.state)}${state3.padEnd(widest + gap.glyph)}${glyphs.get(state3) ?? \"\"}`), \"```\"] : [];\n return resolved(asked, !written.length && !table2.length ? [] : [`## ${prose(asked, \"the-object/heading\") ?? \"\"}`, \"\", ...written, ...table2.length ? [\"\", ...table2] : []]);\n};\n\n// ../provider-closure/world/dist/regions/the-paper.js\nvar render36 = (asked) => {\n const reference = (one) => {\n const doi = value(asked, \"sources/doi\") === void 0 ? void 0 : one.field(\"doi\");\n const address = doi === void 0 ? one.field(\"address\") : `${value(asked, \"sources/doi\")}${doi}`;\n const [authors, year, version, publisher] = [alphabet(one.field(\"author\") ?? \"\").members, one.field(\"year\"), one.field(\"version\"), one.field(\"publisher\")];\n return address === void 0 ? void 0 : [\n authors.length > 1 ? `${authors.slice(0, -1).join(\", \")}${say(asked, \"cite/and\")}${authors[authors.length - 1]}` : authors[0],\n year === void 0 ? void 0 : `(${year}).`,\n `${version === void 0 ? one.title : say(asked, \"cite/versioned\", { title: one.title, version })}.`,\n publisher === void 0 ? void 0 : `${publisher}.`,\n address\n ].filter(Boolean).join(\" \");\n };\n return resolved(asked, titled(asked, \"the-paper\", [...parted(asked, \"paper\"), ...entries(asked, \"cites\").flatMap((one) => reference(one) ?? [])]));\n};\n\n// ../provider-closure/world/dist/regions/units.js\nvar render37 = (asked) => [\n `## ${prose(asked, \"reference/units\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/units-table\") ?? \"\",\n \"|---|---|\",\n ...[...new Set(typedAs(asked, \"source/returns/\", value(asked, \"docs/units\") ?? \"\", \"params\").map(([name, params]) => `| ${name} | \\`${cellText(params)}\\` |`))].sort()\n];\n\n// ../provider-closure/world/dist/regions/what-holds.js\nvar table = (asked) => {\n const read = new Map(receipts(asked, \"laws\").map((line) => [of(line, \"scope\"), of(line, \"value\")]));\n const here = asked.shape.slice(0, asked.shape.lastIndexOf(\"/\"));\n const reproduced = (line) => ((got) => got === void 0 ? say(asked, \"reference/underived\") : say(asked, numeral(got) === 1 ? \"reference/yes\" : \"reference/no\"))([...read].find(([scope]) => scope.endsWith(`/${lawKey(line)}/reproduced`))?.[1]);\n const row = (line) => {\n const [yes, no, formula] = [sample(asked, line, \"yes\"), sample(asked, line, \"no\"), of(laws(asked).find((one) => of(one, \"form\") === \"formula\" && of(one, \"scope\").startsWith(`${of(line, \"scope\")}/`)), \"value\")];\n return `| ${lawKey(line)} | ${of(line, \"kind\") || say(asked, \"reference/unkinded\")} | ${of(line, \"view\") || say(asked, \"reference/any\")} | ${cellText(keys(asked, of(line, \"restsOn\"))) || say(asked, \"reference/nothing\")} | ${cellText(of(line, \"about\"))} | ${formula ? `\\`${cellText(formula)}\\`` : \"\"} | ${yes.recorded && yes.at ? `[${say(asked, \"reference/yes\")}](${relative(here, yes.at)})` : say(asked, \"reference/none\")} | ${cellText((no.about ?? [])[0] ?? say(asked, \"reference/derived\"))} | ${reproduced(line)} |`;\n };\n return [\n `## ${prose(asked, \"reference/laws\") ?? \"\"}`,\n \"\",\n prose(asked, \"reference/laws-table\") ?? \"\",\n \"|---|---|---|---|---|---|---|---|---|\",\n ...laws(asked).filter((line) => of(line, \"form\") !== \"formula\").sort((a, b) => byBytes(of(a, \"scope\"), of(b, \"scope\"))).map(row)\n ];\n};\nvar render38 = (asked) => {\n if (reaches(asked, \"whole\"))\n return table(asked);\n const rests2 = /* @__PURE__ */ new Map();\n for (const line of laws(asked))\n for (const on of alphabet(of(line, \"restsOn\")).members)\n rests2.set(on, (rests2.get(on) ?? 0) + 1);\n const held = laws(asked).filter((line) => of(line, \"kind\") === \"axiom\");\n if (!held.length)\n return [];\n const spelled = ((said) => said === void 0 ? 0 : numeral(said))(value(asked, \"docs/what-holds\"));\n const leaned = [...held].sort((a, b) => (rests2.get(of(b, \"scope\")) ?? 0) - (rests2.get(of(a, \"scope\")) ?? 0));\n const [rest, measured] = [held.filter((line) => !leaned.slice(0, spelled).includes(line)), lawAt(asked, value(asked, \"docs/measured\") ?? \"\")];\n return resolved(asked, [\n ...titled(asked, \"what-holds\", [\n say(asked, \"what-holds/lead\", { count: count(asked, held.length), spelled: count(asked, spelled, true) }),\n ...leaned.slice(0, spelled).map((line) => say(asked, \"what-holds/axiom\", { sentence: sentence(asked, of(line, \"about\")), name: lawName(asked, line), rests: rests2.get(of(line, \"scope\")) ?? 0 }))\n ]),\n ...rest.length ? [\"\", ...zoom(say(asked, \"what-holds/others\", { count: count(asked, rest.length) }), rest.map((line) => `- ${say(asked, \"what-holds/other\", { name: lawName(asked, line), about: of(line, \"about\") })}`))] : [],\n ...measured === void 0 ? [] : [\"\", say(asked, \"what-holds/measured\", { sentence: sentence(asked, of(measured, \"about\")), measured: (sample(asked, measured, \"yes\").about ?? []).slice(-1)[0] ?? \"\" }).trim()]\n ]);\n};\n\n// ../provider-closure/world/dist/regions/wire.js\nvar render39 = (asked) => {\n const [rules2, names, corpus] = [listed(asked, \"wire/rules\"), listed(asked, \"wire/reference\"), listed(asked, \"wire/corpus\")];\n if (!rules2.length && !names.length && !corpus.length)\n return [];\n const tokens = Object.fromEntries(pairs(asked, \"wire/tokens\"));\n const signed = (name) => of(receipts(asked, \"source\").find((one) => of(one, \"scope\") === `source/signature/${name}`), \"value\");\n const held = (name) => of(receipts(asked, \"vectors\").find((one) => of(one, \"scope\") === `vector/${name}`), \"value\");\n const reference = names.map((name) => `| \\`${name}\\` | \\`${cellText(signed(name))}\\` |`);\n return resolved(asked, [\n `# ${prose(asked, \"wire/heading\") ?? \"\"}`,\n \"\",\n say(asked, \"wire/lead\", tokens),\n ...rules2.flatMap((rule2) => [\"\", ...titled(asked, `wire/${rule2}`, [say(asked, `wire/${rule2}`, tokens)])]),\n \"\",\n ...titled(asked, \"wire/reference\", [[prose(asked, \"wire/reference/table\") ?? \"\", \"|---|---|\", ...reference].join(\"\\n\")]),\n \"\",\n ...titled(asked, \"wire/corpus\", [corpus.map((name) => `- \\`vector/${name}\\` \\xB7 ${held(name)}`).join(\"\\n\")])\n ]);\n};\n\n// ../provider-closure/world/dist/regions/say.js\nvar render40 = (asked) => {\n const lines = asked.lines.filter((one) => {\n const scope = of(one, \"scope\");\n return (scope === `page/${asked.region}` || scope.startsWith(`page/${asked.region}/`)) && of(one, \"value\") !== \"withdraw\" && of(one, \"about\") !== \"\";\n });\n if (!lines.length)\n return [];\n const out = [];\n let heading2 = \"\";\n for (const line of lines) {\n const cap = of(line, \"shape\");\n if (cap && cap !== heading2 && !cap.includes(\".\")) {\n heading2 = cap;\n out.push(`## ${cap}`, \"\");\n }\n const strength = of(line, \"kind\") || \"declared\";\n out.push(`${sentence(asked, of(line, \"about\"))} \\xB7 ${strength}`);\n }\n return resolved(asked, out);\n};\n\n// ../provider-closure/world/dist/regions/term.js\nvar render41 = (asked) => {\n const line = asked.lines.find((one) => of(one, \"scope\").startsWith(\"term/\") && of(one, \"value\") !== \"withdraw\") ?? found(asked, `term/${asked.region}`) ?? found(asked, \"notation/object\");\n const word = of(line, \"value\");\n const meaning = of(line, \"about\");\n return !word && !meaning ? [] : resolved(asked, [`**${word}**${meaning ? ` \\u2014 ${meaning}` : \"\"}`]);\n};\n\n// ../provider-closure/world/dist/regions/count.js\nvar render42 = (asked) => {\n const receipts2 = Object.values(asked.regions).flatMap((region) => region.receipts);\n const named = asked.lines.filter((one) => of(one, \"scope\").startsWith(`page/${asked.region}/`) && of(one, \"value\") !== \"withdraw\").flatMap((one) => {\n const scope = of(one, \"scope\").slice(`page/${asked.region}/`.length);\n const matches2 = receipts2.filter((line) => of(line, \"scope\") === scope);\n if (matches2.length !== 1)\n return [];\n const got = of(matches2[0], \"value\");\n return got ? [`${of(one, \"about\") || scope} ${got}`] : [];\n });\n return resolved(asked, named);\n};\n\n// ../provider-closure/world/dist/regions/seq.js\nvar render43 = (asked) => {\n const lines = asked.lines.filter((one) => of(one, \"scope\").startsWith(`page/${asked.region}/`) && of(one, \"about\") !== \"\" && of(one, \"value\") !== \"withdraw\" && !of(one, \"scope\").endsWith(\"/heading\"));\n const steps2 = lines.length ? lines.map((one) => of(one, \"about\")) : alphabet(of(asked.regions[\"path\"]?.receipts.find((line) => of(line, \"scope\") === \"path/steps\") ?? {}, \"value\")).members.filter((one) => one !== \"none\");\n if (!steps2.length)\n return [];\n const heading2 = of(asked.lines.find((one) => of(one, \"scope\") === `page/${asked.region}/heading`), \"about\") || prose(asked, \"seq/heading\");\n return resolved(asked, [...heading2 ? [`## ${heading2}`, \"\"] : [], ...steps2.map((step, i) => `${i + 1}. ${step}`)]);\n};\n\n// ../provider-closure/world/dist/regions/exchange.js\nvar render44 = (asked) => {\n const held = examples(asked);\n const said = asked.lines.filter((one) => of(one, \"scope\").startsWith(`page/${asked.region}/`) && of(one, \"about\") !== \"\" && of(one, \"value\") !== \"withdraw\" && !of(one, \"scope\").endsWith(\"/heading\"));\n if (!held.length && !said.length)\n return [];\n const heading2 = of(asked.lines.find((one) => of(one, \"scope\") === `page/${asked.region}/heading`), \"about\");\n return resolved(asked, [\n ...heading2 ? [`## ${heading2}`, \"\"] : section(asked, \"exchange\"),\n ...held.flatMap((one, i) => [...i ? [\"\"] : [], ...glance(asked, one, folder(asked.shape))]),\n ...said.map((one) => of(one, \"about\"))\n ]);\n};\n\n// ../provider-closure/world/dist/regions/set.js\nvar render45 = (asked) => {\n const pins = alphabet(receiptValue(asked, \"rests\", \"rests-on/pins\") ?? \"\").members.filter((one) => one !== \"none\");\n const fromUses = asked.lines.filter((one) => of(one, \"scope\").startsWith(\"uses/\") && of(one, \"value\") !== \"withdraw\").map((one) => of(one, \"scope\").slice(\"uses/\".length).split(\"/\")[0] ?? \"\").filter(Boolean);\n const regions = alphabet(receiptValue(asked, \"rests\", \"rests-on/regions\") ?? \"\").members.filter((one) => one !== \"none\");\n const pinsHeld = [.../* @__PURE__ */ new Set([...pins, ...fromUses])];\n const members = [...pinsHeld.map((name) => ({ kind: \"pin\", name })), ...regions.map((name) => ({ kind: \"region\", name }))];\n if (!members.length)\n return [];\n return resolved(asked, [\n ...section(asked, \"set\"),\n \"| | |\",\n \"|---|---|\",\n ...members.map((one) => `| ${cellText(one.kind)} | ${cellText(one.name)} |`)\n ]);\n};\n\n// ../provider-closure/world/dist/regions/cell.js\nvar render46 = (asked) => {\n const lines = declaredSample(asked, figured(asked, asked.region, 1)[0]);\n const groups = /* @__PURE__ */ new Map();\n for (const line of lines) {\n const scope = of(line, \"scope\");\n const group = groups.get(scope) ?? [];\n group.push(line);\n groups.set(scope, group);\n }\n return [...groups.values()].flatMap((group) => {\n const cell2 = cellOfLines(group);\n if (cell2 === void 0)\n return [];\n const text = described(asked, cell2) || captioned(asked, cell2);\n return text ? [text] : [];\n });\n};\n\n// ../provider-closure/world/dist/regions/ref.js\nvar render47 = (asked) => {\n const views = asked.lines.filter((line) => of(line, \"scope\").startsWith(\"view/\") && of(line, \"shape\").endsWith(\".md\"));\n const here = folder(asked.shape);\n const links = views.map((line) => {\n const at = of(line, \"shape\");\n const title = of(line, \"shape\").replace(/^.*\\//, \"\").replace(/\\.md$/, \"\") || of(line, \"scope\").slice(\"view/\".length);\n return `- [${title}](${relative(here, at)})`;\n });\n return links.length ? resolved(asked, links) : [];\n};\n\n// ../provider-closure/world/dist/regions/group.js\nvar render48 = (asked) => {\n const lines = asked.lines.filter((one) => {\n const scope = of(one, \"scope\");\n return (scope === `page/${asked.region}` || scope.startsWith(`page/${asked.region}/`)) && of(one, \"about\") !== \"\" && of(one, \"value\") !== \"withdraw\";\n });\n if (!lines.length)\n return [];\n return resolved(asked, lines.map((line) => {\n const scope = of(line, \"scope\");\n const mark2 = scope.endsWith(\"/title\") ? \"#\" : \"##\";\n return `${mark2} ${of(line, \"about\")}`;\n }));\n};\n\n// ../provider-closure/world/dist/index.js\nvar render49 = shell({ \"alphabet\": { reads: [\"lang\", \"prose/*/reference/*\", \"notation/*\"], region: render }, \"bond\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cell/*\", \"prose/*/apart\", \"notation/claim\", \"notation/renders\", \"examples/*\", \"region/examples\", \"region/source\", \"form/style/**\"], region: render2 }, \"cff\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cff/*\", \"cites/*\", \"name\", \"version\", \"author\", \"repository\", \"license\", \"sources/doi\", \"form/page/**\"], region: render3 }, \"check\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/check/*\", \"notation/renders\", \"fold\", \"repository\", \"repository/resolved\", \"check\", \"region/cases\", \"form/style/**\", \"form/page/**\"], region: render4 }, \"claims\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/claims/*\", \"claims/*\", \"dependencies\", \"audit/*\", \"region/state\", \"region/cases\", \"region/laws\", \"region/offers\", \"region/vectors\", \"region/examples\", \"form/page/**\"], region: render5 }, \"commands\": { reads: [\"lang\", \"prose/*/commands\", \"region/captures\", \"form/page/**\"], region: render6 }, \"door\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/door/*\", \"prose/*/cell/*\", \"prose/*/apart\", \"docs/what\", \"view/*\", \"notation/claim\", \"examples/*\", \"region/examples\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render7 }, \"figure\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cell/*\", \"prose/*/apart\", \"prose/*/marks\", \"view/*\", \"notation/claim\", \"examples/*\", \"region/examples\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render8 }, \"figure-fold\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"prose/*/cell/*\", \"form/figure/*\", \"notation/renders\", \"view/*\", \"samples/*\", \"region/laws\", \"form/style/**\"], region: render9 }, \"figure-line\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"form/figure/*\", \"notation/renders\", \"view/*\", \"samples/*\", \"region/laws\", \"form/style/**\"], region: render10 }, \"figure-refuses\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"notation/renders\", \"view/*\", \"region/vectors\", \"form/style/**\"], region: render11 }, \"figure-world\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"notation/renders\", \"view/*\", \"uses/*\", \"docs/world\", \"examples/*\", \"region/capsule\", \"region/examples\", \"region/source\", \"region/vectors\", \"form/runtime/*/regions\", \"form/style/**\"], region: render12 }, \"first-use\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/first-use/*\", \"prose/*/example/*\", \"examples/*\", \"region/examples\", \"form/runtime/*/run\", \"prose/*/figure/learn/*\", \"form/page/**\"], region: render13 }, \"forms\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reference/*\", \"docs/forms\", \"region/source\"], region: render14 }, \"guide-at-zero\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/guide/*\", \"prose/*/contributing\", \"check\", \"region/laws\", \"form/page/**\"], region: render15 }, \"hero\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/what\", \"prose/*/badge/*\", \"docs/logo\", \"docs/badges\", \"name\", \"notation/renders\", \"sources/*\", \"dependencies\", \"version\", \"license\", \"engines\", \"cites/*\", \"region/cases\", \"region/state\", \"docs/tagline\", \"form/style/**\", \"audit/wire/badges/world\"], region: render16 }, \"how-they-rest\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/rests/*\", \"prose/*/door/*\", \"name\", \"dependencies\", \"uses/*\", \"dep/**\", \"*/name\", \"*/dependencies\"], region: render17 }, \"idea\": { reads: [\"lang\", \"prose/*/idea\", \"prose/*/idea/*\", \"form/page/**\"], region: render18 }, \"install\": { reads: [\"install\", \"name\", \"uses/*\", \"sources/*\", \"host/resolve\", \"form/page/**\"], region: render20 }, \"line\": { reads: [\"sources/*\", \"uses/*\", \"host/resolve\", \"form/page/**\"], region: render19 }, \"learn\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/learn/**\", \"prose/*/cell/*\", \"prose/*/example/*\", \"prose/*/apart\", \"notation/*\", \"view/*\", \"examples/*\", \"region/examples\", \"region/source\", \"region/offers\", \"region/laws\", \"docs/learn\", \"form/runtime/*/run\", \"prose/*/figure/learn/*\", \"form/style/**\", \"form/page/**\"], region: render21 }, \"license\": { reads: [\"license\", \"form/page/**\"], region: render22 }, \"media\": { reads: [\"form/template/**\", \"form/style/**\", \"form/page/**\", \"media/**\"], region: render23 }, \"notation\": { reads: [\"lang\", \"form/prose/**\", \"prose/*/notation/*\", \"prose/*/reference/*\", \"notation/*\", \"region/laws\", \"region/offers\", \"region/source\", \"form/page/**\"], region: render24 }, \"open\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/open/*\", \"samples/*\", \"region/laws\", \"region/state\", \"form/page/**\"], region: render25 }, \"open-conjectures\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/open/*\", \"open/who\", \"samples/*\", \"region/laws\", \"form/page/**\"], region: render26 }, \"operations\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reference/*\", \"region/laws\", \"region/offers\", \"region/source\"], region: render27 }, \"pointers\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/pointers/*\", \"view/*\", \"region/state\", \"form/page/**\"], region: render28 }, \"ranges\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/cell/*\", \"prose/*/apart\", \"notation/claim\", \"notation/renders\", \"notation/object\", \"examples/*\", \"samples/*\", \"region/examples\", \"region/laws\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render29 }, \"reading\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reading/*\", \"region/source\", \"docs/reading\"], region: render30 }, \"reference\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/reference/*\", \"docs/forms\", \"region/laws\", \"region/offers\", \"region/source\"], region: render31 }, \"refuses\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/refuses/*\", \"notation/object\", \"samples/*\", \"region/laws\", \"region/vectors\", \"region/captures\", \"form/page/**\"], region: render32 }, \"regions\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/regions/*\", \"capsule/**\", \"audit/*\", \"region/**\", \"region/capsule\", \"form/page/**\"], region: render33 }, \"rested-on-by\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/rested/*\", \"region/state\", \"form/page/**\"], region: render34 }, \"the-object\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/the-object/*\", \"prose/*/reference/*\", \"prose/*/states/*\", \"notation/*\", \"region/laws\", \"region/offers\", \"region/source\", \"form/style/**\", \"form/page/**\"], region: render35 }, \"the-paper\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/paper\", \"prose/*/the-paper/*\", \"prose/*/cite/*\", \"cites/*\", \"sources/doi\", \"form/page/**\"], region: render36 }, \"units\": { reads: [\"lang\", \"prose/*/reference/*\", \"docs/units\", \"region/source\"], region: render37 }, \"what-holds\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/what-holds/*\", \"prose/*/reference/*\", \"docs/what-holds\", \"docs/measured\", \"samples/*\", \"region/laws\", \"form/page/**\"], region: render38 }, \"wire\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/wire/*\", \"prose/*/wire/*/*\", \"wire/*\", \"region/source\", \"region/vectors\", \"form/page/**\"], region: render39 }, \"say\": { reads: [\"lang\", \"page/**\", \"law/**\", \"docs/tagline\", \"form/page/**\", \"prose/**\"], region: render40 }, \"term\": { reads: [\"lang\", \"page/**\", \"term/**\", \"notation/**\", \"form/page/**\"], region: render41 }, \"count\": { reads: [\"lang\", \"name\", \"dependencies\", \"region/cases\", \"region/state\", \"form/page/**\", \"page/**\", \"prose/*/badge/**\"], region: render42 }, \"seq\": { reads: [\"lang\", \"page/**\", \"examples/*\", \"region/examples\", \"form/page/**\"], region: render43 }, \"exchange\": { reads: [\"lang\", \"page/**\", \"examples/*\", \"region/examples\", \"form/page/**\", \"form/runtime/*/run\", \"prose/*/figure/learn/*\"], region: render44 }, \"set\": { reads: [\"lang\", \"page/**\", \"uses/*\", \"dep/**\", \"region/state\", \"form/page/**\"], region: render45 }, \"cell\": { reads: [\"lang\", \"form/prose/**\", \"form/template/**\", \"prose/*/figure/**\", \"prose/*/cell/*\", \"form/figure/*\", \"notation/renders\", \"view/*\", \"samples/*\", \"region/laws\", \"form/style/**\", \"examples/*\", \"region/examples\", \"region/source\", \"region/vectors\", \"region/capsule\", \"docs/world\", \"uses/*\", \"form/runtime/*/regions\"], region: render46 }, \"ref\": { reads: [\"lang\", \"view/*\", \"form/page/**\"], region: render47 }, \"group\": { reads: [\"lang\", \"page/**\", \"prose/**\", \"form/page/**\"], region: render48 } });\nvar receipt2 = receiptShell({ \"unreceipted\": { reads: [\"lang\", \"prose/*/commands\", \"prose/*/idea\", \"region/state\", \"region/captures\", \"form/page/**\"], region: receipt } });\nexport {\n receipt2 as receipt,\n render49 as render\n};\n", + "providerDigest": "sha256:3c4bb28406ae7f56a8946ead2236a327fdaa29a44d05ae0ccf50af292c1f53ab", + "provenance": { + "artifact": "sha256:04feef01a8c59cae7ea842198d1faf0091b424129872a847b41c7da0bca6fabf", + "member": "dist/index.js", + "fixtureOnly": true, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) 2026 Lapxo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n" + }, + "regions": [ + { + "name": "commands", + "reads": "lang|prose/*/commands|region/captures|form/page/**" + }, + { + "name": "hero", + "reads": "lang|form/prose/**|form/template/**|prose/*/what|prose/*/badge/*|docs/logo|docs/badges|name|notation/renders|sources/*|dependencies|version|license|engines|cites/*|region/cases|region/state|docs/tagline|form/style/**|audit/wire/badges/world" + }, + { + "name": "idea", + "reads": "lang|prose/*/idea|prose/*/idea/*|form/page/**" + }, + { + "name": "refuses", + "reads": "lang|form/prose/**|form/template/**|prose/*/refuses/*|notation/object|samples/*|region/laws|region/vectors|region/captures|form/page/**" + }, + { + "name": "what-holds", + "reads": "lang|form/prose/**|form/template/**|prose/*/what-holds/*|prose/*/reference/*|docs/what-holds|docs/measured|samples/*|region/laws|form/page/**" + } + ], + "wire": [ + [ + "fields", + "scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn" + ], + [ + "required", + "scope|role|form|measure|value|by|at" + ], + [ + "forms", + "alphabet|interval" + ], + [ + "families", + "keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build" + ], + [ + "roles", + "reads|writes|demands" + ], + [ + "at-classes", + "policy|place|origin|witness|receipt" + ], + [ + "era", + "sample" + ], + [ + "signature-algorithms", + "ed25519:sample" + ], + [ + "digest-algorithms", + "sha256" + ], + [ + "region-measures", + "coordinates|leaves|reads|receipts" + ] + ], + "places": [ + { + "name": "specimen-register", + "version": "1.4.2", + "heading": "Reading specimen-register", + "idea": "Keep independent readings of specimen-register visible.", + "tagline": "A declared place for specimen-register." + }, + { + "name": "route-notes", + "version": "3.2.1", + "heading": "Reading route-notes", + "idea": "Keep independent readings of route-notes visible.", + "tagline": "A declared place for route-notes." + } + ] +} diff --git a/samples/yes/native-views.json b/samples/yes/native-views.json new file mode 100644 index 0000000..1a2e165 --- /dev/null +++ b/samples/yes/native-views.json @@ -0,0 +1,16 @@ +{ + "keyClasses": [ + "authorize", + "read", + "access", + "attest" + ], + "lines": [ + "bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold", + "bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help", + "bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines", + "bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at", + "bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1", + "bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered" + ] +} diff --git a/samples/yes/program-views.json b/samples/yes/program-views.json new file mode 100644 index 0000000..5cd10c1 --- /dev/null +++ b/samples/yes/program-views.json @@ -0,0 +1,66 @@ +{ + "wire": [ + [ + "fields", + "scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn" + ], + [ + "required", + "scope|role|form|measure|value|by|at" + ], + [ + "forms", + "alphabet|interval" + ], + [ + "families", + "keys|signer|wire|tree|write|leaf|view|region|uses|dep|tasks|clock|reader|read|fold|receipts|rendered|resolved|beat" + ], + [ + "roles", + "reads|writes|demands" + ], + [ + "at-classes", + "policy|place|origin|witness|receipt" + ], + [ + "era", + "sample" + ], + [ + "signature-algorithms", + "ed25519:sample" + ], + [ + "digest-algorithms", + "sha256" + ], + [ + "kinds", + "capsule" + ], + [ + "region-measures", + "receipts|reads|coordinates" + ] + ], + "providerMember": "dist/views/programs.js", + "providerDigest": "sha256:abe30bfa3bebf8131b10789de963ca3498a313cdbba6055397cbff5869c5cc10", + "places": [ + { + "name": "collection-review", + "steps": [ + "collect", + "catalogue" + ] + }, + { + "name": "transformation-review", + "steps": [ + "prepare", + "transform" + ] + } + ] +} diff --git a/samples/yes/prose-views.json b/samples/yes/prose-views.json new file mode 100644 index 0000000..bd91a64 --- /dev/null +++ b/samples/yes/prose-views.json @@ -0,0 +1,88 @@ +{ + "providerSource": "/** Verbatim prose explicitly assigned to the requested output. The host chooses no format or project vocabulary. */\nexport const render = (asked) => {\n const bodies = [...new Set(asked.lines.filter(line => line.scope?.startsWith('prose/') && line.measure === 'text' && line.shape === asked.shape && line.value !== 'withdraw').map(line => line.about).filter((body) => body !== undefined))];\n if (bodies.length > 1)\n throw Error(`REFUSE\u00b7view conflicting prose names ${asked.shape}`);\n return bodies;\n};\n", + "providerDigest": "sha256:8e322a6ed813609ed6233c5c82812e63eec0480be1eaa46fef62b59cd4c01531", + "wire": [ + [ + "fields", + "scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn" + ], + [ + "required", + "scope|role|form|measure|value|by|at" + ], + [ + "forms", + "alphabet|interval" + ], + [ + "families", + "keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep" + ], + [ + "roles", + "reads|writes|demands" + ], + [ + "at-classes", + "policy|place|origin|witness|receipt" + ], + [ + "era", + "sample" + ], + [ + "signature-algorithms", + "ed25519:sample" + ], + [ + "digest-algorithms", + "sha256" + ], + [ + "region-measures", + "coordinates|leaves|reads|receipts" + ] + ], + "places": [ + { + "name": "field-notes", + "outputs": [ + { + "view": "usage-profile", + "path": "notes.md", + "body": "# Observations\n\nA field note belongs to its place.\n" + }, + { + "view": "manifest-render", + "path": "manifest.json", + "body": "{\"name\":\"field-notes\"}\n" + }, + { + "view": "release-workflow-render", + "path": "process.yml", + "body": "name: field-work\non: push\n" + } + ] + }, + { + "name": "collection", + "outputs": [ + { + "view": "usage-profile", + "path": "catalogue.md", + "body": "# Collection\n\nAn item keeps its provenance.\n" + }, + { + "view": "manifest-render", + "path": "catalogue.json", + "body": "{\"name\":\"collection\"}\n" + }, + { + "view": "release-workflow-render", + "path": "catalogue.yml", + "body": "name: catalogue\non: push\n" + } + ] + } + ] +} diff --git a/samples/yes/query-views.json b/samples/yes/query-views.json new file mode 100644 index 0000000..7ae83fa --- /dev/null +++ b/samples/yes/query-views.json @@ -0,0 +1,56 @@ +{ + "wire": [ + [ + "fields", + "scope|role|form|measure|value|by|at|epoch|sig|needs" + ], + [ + "required", + "scope|role|form|measure|value|by|at" + ], + [ + "forms", + "alphabet|interval" + ], + [ + "families", + "keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region" + ], + [ + "roles", + "reads|writes|demands" + ], + [ + "at-classes", + "policy|place|origin|witness|receipt" + ], + [ + "era", + "sample" + ], + [ + "signature-algorithms", + "ed25519:sample" + ], + [ + "digest-algorithms", + "sha256" + ] + ], + "places": [ + { + "name": "source-review", + "scope": "sample/selection", + "value": "source", + "coordinate": "source.txt", + "content": "Source input\\n" + }, + { + "name": "release-review", + "scope": "sample/package", + "value": "release", + "coordinate": "release.txt", + "content": "Release input\\n" + } + ] +} diff --git a/samples/yes/signing-port.json b/samples/yes/signing-port.json new file mode 100644 index 0000000..1a707d9 --- /dev/null +++ b/samples/yes/signing-port.json @@ -0,0 +1 @@ +{"rows":[{"scope":"sample/a","measure":"id","value":"yes"},{"scope":"sample/b","measure":"id","value":"yes"}]} diff --git a/samples/yes/typed-object.json b/samples/yes/typed-object.json new file mode 100644 index 0000000..f375bf9 --- /dev/null +++ b/samples/yes/typed-object.json @@ -0,0 +1,78 @@ +{ + "cells": [ + { + "scope": "B", + "restsOn": "none" + }, + { + "scope": "C", + "restsOn": "B" + }, + { + "scope": "G", + "restsOn": "C" + }, + { + "scope": "D", + "restsOn": "none" + } + ], + "acts": [ + { + "type": "mark", + "scope": "B", + "id": "s-B", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "value": "0..50" + }, + { + "type": "mark", + "scope": "B", + "id": "j-B", + "sign": "+1", + "pole": "ceiling", + "reach": "local", + "widens": "local-opening", + "value": "0..100" + }, + { + "type": "mark", + "scope": "B", + "id": "r-B", + "sign": "+1", + "pole": "floor", + "reach": "travels", + "value": "40..*" + }, + { + "type": "claim", + "scope": "C", + "id": "c-C", + "sign": "+1", + "origin": "ana", + "value": "42..48" + }, + { + "type": "claim", + "scope": "C", + "id": "c-L", + "sign": "+1", + "origin": "luis", + "value": "44..47" + } + ], + "form": "interval", + "measure": "count", + "params": { + "lo": 0, + "hi": 100 + }, + "scenarios": { + "conflicting": "40..43", + "outside": "65..75", + "floorConflict": "60..*" + }, + "place": "range" +} diff --git a/samples/yes/walk.json b/samples/yes/walk.json new file mode 100644 index 0000000..9ca66be --- /dev/null +++ b/samples/yes/walk.json @@ -0,0 +1,100 @@ +{ + "contract": "whole-region@1", + "places": [ + "measurement", + "artifact" + ], + "declarations": [ + [ + "wire/digest-algorithms", + "id", + "sha256" + ], + [ + "wire/signature-algorithms", + "id", + "ed25519:sample" + ], + [ + "wire/era", + "id", + "sample" + ], + [ + "wire/families", + "id", + "keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample" + ], + [ + "wire/fields", + "id", + "scope|role|form|measure|value|by|at|epoch|sig|condition|needs" + ], + [ + "wire/required", + "id", + "scope|role|form|measure|value|by|at" + ], + [ + "wire/forms", + "id", + "alphabet|interval" + ], + [ + "wire/roles", + "id", + "reads|writes|demands" + ], + [ + "wire/at-classes", + "id", + "origin|place|receipt|witness|policy" + ], + [ + "wire/walk/contract", + "id", + "whole-region@1" + ], + [ + "wire/walk/fields", + "id", + "scope|role|form|measure|value|by|at|epoch|condition|needs" + ], + [ + "wire/walk/metadata-fields", + "id", + "at|by|condition|epoch|form|measure|role|scope|sig|value" + ], + [ + "wire/walk/resolutions", + "id", + "0|1|4|6|8" + ], + [ + "signer/timeout", + "milliseconds", + "5000..5000", + "interval" + ], + [ + "signer/response-bytes", + "bytes", + "65536..65536", + "interval" + ], + [ + "wire/walk/projections", + "id", + "0:inventory|1:summary|4:summary|6:history|8:history" + ] + ], + "requirements": [ + "@0/@1/@8 escalation", + "authenticated whole-region prefixes", + "two clocks", + "union retains both origins", + "unchanged exchange zero payload", + "atomic native receipt", + "replay zero writes" + ] +} diff --git a/src/cli/accept.ts b/src/cli/accept.ts index 1f0f010..f4a6ffb 100644 --- a/src/cli/accept.ts +++ b/src/cli/accept.ts @@ -11,7 +11,7 @@ import { fieldOf, isConfig, foldClaims, sayingOf, selfName } from '../fold/claim import { isReaderLock } from '../fold/observed.ts'; import { authorityFor, publicKeyOf, rootSigner, writerFor } from '../fold/signers.ts'; import { lockLines, lockStanding } from '../fold/keys.ts'; -import { keepVerdict, keptVerdict, land, landBlob, storeOf } from '../land/ledger.ts'; +import { keepVerdict, keptVerdict, land, landBlob, ledgerLines, storeOf } from '../land/ledger.ts'; import { signConsentLot, verifiesOwnerLine } from '../land/sign.ts'; import { signerFor } from '../host/signing.ts'; import { appliedIn, ownLockOf } from '../fold/signed.ts'; @@ -19,7 +19,7 @@ import { wordOf } from '../fold/wire.ts'; import { hasVouchedTree, landCoordinates, locationsOf, vouchedCoordinates } from '../land/vouched.ts'; import { entriesIn, observeFile, observeText } from '../observe/files.ts'; import { coneOf, standingOf } from './place.ts'; -import { ownLock, ownRoot, ownStore } from '../observe/runner.ts'; +import { ownLock, ownRoot } from '../observe/runner.ts'; import { widenedWithoutWitness } from '../judge/widening.ts'; import { retractedTogether, withdrawal } from '../land/withdraw.ts'; import { isCeiling } from '../fold/configures.ts'; @@ -37,7 +37,7 @@ import { lateFacts } from '../judge/late.ts'; import { paidOf } from '../fold/paid.ts'; import { aliasPinned } from '../land/alias.ts'; import { coordinatesWithdrawn } from '../land/leaving.ts'; -import { ownerOf, epochOf, forksItself, forksJoinedBy, renderInto, sideOf, signedDemands, signedOwnerLines } from './owner.ts'; +import { ownerOf, epochOf, localActLines, forksItself, forksJoinedBy, renderInto, sideOf, signedDemands, signedOwnerLines } from './owner.ts'; import { claimLinesIn, entryOf, namedPlaces, placesOfFile, positionalsOf, valueOf } from './args.ts'; import { FLAGS } from './names.ts'; import { judgeDemand, landTake } from './takes.ts'; @@ -56,7 +56,15 @@ function admissionEvidence(root: string, signed: readonly string[], standing: re const coordinates = coordinatesWithdrawn(root, store, signed, [...signed, ...standing]); if (coordinates.refused.length) throw Error(`REFUSE·withdraw a file is still read: ${coordinates.refused.map(one => `${one.path} by ${one.by}`).join(' · ')}`); const view = `${wordOf(standing, 'families', 'view')}/`; - const judged = signed.filter(one => isConfig(one) && fieldOf(one, 'role') === 'demands' && fieldOf(one, 'value') !== 'withdraw' && !fieldOf(one, 'scope').startsWith(view)).map(one => judgeDemand(root, one)); + const judged: Judged[] = signed.filter(one => isConfig(one) && fieldOf(one, 'role') === 'demands' && fieldOf(one, 'value') !== 'withdraw' && !fieldOf(one, 'scope').startsWith(view)).map(one => { + const scope = fieldOf(one, 'scope'); + const alreadyDemanded = standing.some(held => isConfig(held) && fieldOf(held, 'role') === 'demands' + && fieldOf(held, 'value') !== 'withdraw' && fieldOf(held, 'scope') === scope + && fieldOf(held, 'form') === fieldOf(one, 'form') && fieldOf(held, 'measure') === fieldOf(one, 'measure')); + // Declaring an obligation is not a claim to have discharged it. + return alreadyDemanded ? judgeDemand(root, one) + : {kind: 'owed', scope, why: 'new demand declared; no conformance reading is claimed'}; + }); const refused = judged.filter(one => one.kind === 'refused' || (one.kind === 'judged' && one.verdict.kind === 'refuse')); if (refused.length) throw Error(`REFUSE·takes ${refused.map(one => `${one.scope}: ${one.kind === 'judged' ? one.verdict.why : one.kind === 'refused' ? one.why : ''}`).join(' · ')}`); return { coordinates, judged, fold }; @@ -125,7 +133,7 @@ export async function signedBatch(root: string, args: readonly string[], files: process.stderr.write(`${selfName()}: REFUSE·place nothing landed · ${stray.join(', ')} is no place of the tree, and no line of the root founds it: --place names the own lock a line lands in\n`); return {kind:'exit',code:2}; } - const epoch = epochOf([...lockLines(store), ...destinations.flatMap((place) => appliedIn(root, place))]) + 1; + const epoch = epochOf(localActLines(root,destinations)) + 1; const stale = proposed.filter((line) => fieldOf(line, 'sig')).flatMap((line) => ((by, key) => (key === undefined || !verifiesOwnerLine(line, key, signaturesOf(store).admitted) ? [`${fieldOf(line, 'scope')} · the signature does not hold for ${by || '∅'}`] : []))(fieldOf(line, 'by'), publicKeyOf(root, fieldOf(line, 'by')))); @@ -137,9 +145,13 @@ export async function signedBatch(root: string, args: readonly string[], files: const [named, places] = [namedPlaces(args), placesIn(root)]; const inLock = new Set(lockLines(store).map(sayingOf)); const inPlace = new Map(places.map((place) => [place, new Set(appliedIn(root, place).map(sayingOf))] as const)); + const deliveryAuthority = authorityFor(lockLines(store), rootSigner(root), signaturesOf(store).admitted); + const delivered = (line: string): boolean => Boolean(fieldOf(line, 'sig')) + && deliveryAuthority.of(line).kind === 'admitted' + && ledgerLines(store, fieldOf(line, 'by')).includes(line); const held = (line: string, at = named.length ? named : byFile.flatMap(([heads, lines]) => (lines.includes(line) ? heads : []))): boolean => at.length ? at.every((place) => inPlace.get(place)?.has(sayingOf(line))) - : inLock.has(sayingOf(line)) || places.some((place) => inPlace.get(place)?.has(sayingOf(line))); + : delivered(line) || inLock.has(sayingOf(line)) || places.some((place) => inPlace.get(place)?.has(sayingOf(line))); if (proposed.every((line) => held(line))) { if(proposed.some(line=>!isConfig(line))) {try {await admittedObjects(root,[...signedOwnerLines(store),...proposed]);}catch(e){process.stderr.write(`${selfName()}: ${String(e)} · nothing landed\n`);return {kind:'exit',code:1};}} return { kind: 'once', proposed }; @@ -293,7 +305,7 @@ async function acceptNow(root: string, batch: Extract standingOf(root, undefined, signed)); for (const name of openedBy(descent, told.standing, signed)) process.stderr.write(`OPEN ${name}\n`); - if (owned.own.size) layReleases(store, ownRoot(), ownLock(), ownStore()); + if (owned.own.size) layReleases(store, root, told.standing, store); const landed = took('land', () => [...new Set(signed.map((line) => fieldOf(line, 'by')))].map((by) => land(store, by, signed.filter((line) => fieldOf(line, 'by') === by)))); for (const [place, lines] of owned.own) landOwned(root, place, lines); landSaid(store, writerFor(told.standing, 'fold'), []); @@ -340,7 +352,7 @@ async function acceptNow(root: string, batch: Extract `${one.appended} in ${one.at}`).join(' · ') : '0'}${[...owned.own].map(([place, lines]) => ` · ${lines.length} in ${place}/${LOCK}`).join('')} · epoch ${epoch}\n` - + `TARGET ${rendered.standing} claims · ${rendered.forks.length} forks · ${rendered.vacuous.length} vacuous · ${rendered.grey.length} grey · ${rendered.refused.length} refused · ${Date.now() - started} ms\n` + + `TARGET ${rendered.standing} claims · ${rendered.forks.length} forks · ${rendered.vacuous.length} vacuous · ${rendered.grey.length} grey · ${rendered.refused.length} refused · readings · no encounters computed · ${Date.now() - started} ms\n` + `SPENT ${spent.join(' ms · ')} ms · ${signed.length} lines\n`, ); if (withdrawn) { @@ -388,7 +400,7 @@ function repaid(root: string, proposed: readonly string[], started: number): num } const rendered = renderInto(root, store); process.stdout.write(`RENDER 0\n`); - process.stdout.write(`TARGET ${rendered.standing} claims · ${rendered.forks.length} forks · ${rendered.vacuous.length} vacuous · ${rendered.grey.length} grey · ${rendered.refused.length} refused · ${Date.now() - started} ms\n`); + process.stdout.write(`TARGET ${rendered.standing} claims · ${rendered.forks.length} forks · ${rendered.vacuous.length} vacuous · ${rendered.grey.length} grey · ${rendered.refused.length} refused · readings · no encounters computed · ${Date.now() - started} ms\n`); return 0; } diff --git a/src/cli/owner.ts b/src/cli/owner.ts index e416c49..7129543 100644 --- a/src/cli/owner.ts +++ b/src/cli/owner.ts @@ -1,8 +1,10 @@ +import {fileURLToPath} from 'node:url'; +import {ingressReceipts} from '../host/ports/ingress.ts'; import {readOnly} from '../host/read-only.ts'; import { keyFor, lockLines, releaseOf, signedLockLines } from '../fold/keys.ts'; import { existsSync, renameSync, writeFileSync } from 'node:fs'; import { join, resolve } from 'node:path'; -import { bytesDigest, fullDigest, memoized, signaturesOf } from '../fold/digests.ts'; +import { bytesDigest, fullDigest, memoized, signaturesOf, instrumentDigest } from '../fold/digests.ts'; import { claimKey, isConfig, fieldOf, foldClaims, LOCK, selfName } from '../fold/claims.ts'; import { asksThePlace } from '../fold/configures.ts'; import { receiptsIn } from '../fold/receipts.ts'; @@ -10,6 +12,7 @@ import { authorityFor, releaseSigner, rootSigner } from '../fold/signers.ts'; import { storeRoot } from '../host/ports/store.ts'; import { blobAt, landBlob, ledgerLines, storeOf } from '../land/ledger.ts'; import { observeText } from '../observe/files.ts'; +import {appliedIn} from '../fold/signed.ts'; import { everLanded, inside, locationsOf } from '../land/vouched.ts'; import { renderTarget } from '../render/target.ts'; @@ -55,6 +58,18 @@ export function forkedScopes(store: string): Set { return new Set(foldClaims(lines, forkReceipts(store, lines)).forks.flatMap((f) => f.lines.map((line) => fieldOf(line, 'scope')))); } +/** Import receipts are local acts; foreign evidence and sender epochs never enter this input. */ +export function localActLines(root: string, placed: readonly string[] = []): readonly string[] { + const store=storeOf(root),local=lockLines(store),receipts=ingressReceipts(store); + if(receipts.length){ + const authority=authorityFor(local,rootSigner(root),signaturesOf(store).admitted); + for(const receipt of receipts){ + if(fieldOf(receipt,'scope')!=='receipts'||fieldOf(receipt,'role')!=='writes'||fieldOf(receipt,'form')!=='alphabet'||fieldOf(receipt,'measure')!=='digest'||authority.of(receipt).kind!=='admitted')throw Error('REFUSE·ingress local import receipt is not admitted'); + } + } + return [...local,...receipts,...placed.flatMap(place=>appliedIn(root,place))]; +} + export function epochOf(lines: readonly string[]): number { return lines.reduce((top, line) => Math.max(top, Number(fieldOf(line, 'epoch')) || 0), 0); } @@ -108,7 +123,7 @@ export function renderedLock(root: string, store: string, told: readonly string[ } const anchor = [join(storeRoot(root), `${selfName()}.keys`), join(storeOf(root), `${selfName()}.keys`)].map((at) => observeText(at) ?? '').join('\n'); const judged = ledgerLines(store, 'judge'); - const key = `lock ${fullDigest(store, [new Date().toISOString().slice(0, 10), anchor, `${judged.length} ${judged.at(-1) ?? ''}`, ...owned])}`; + const key = `lock ${fullDigest(store, [instrumentDigest(store, fileURLToPath(import.meta.url), [], root), new Date().toISOString().slice(0, 10), anchor, `${judged.length} ${judged.at(-1) ?? ''}`, ...owned])}`; const held = memoized(store, key, () => { const bytes = new TextEncoder().encode(JSON.stringify(render())); const digest = bytesDigest(store, bytes); diff --git a/src/cli/pass.ts b/src/cli/pass.ts index c2869d6..c4df136 100644 --- a/src/cli/pass.ts +++ b/src/cli/pass.ts @@ -7,9 +7,9 @@ import type { PlaceFold } from './place.ts'; import { fieldOf, selfName } from '../fold/claims.ts'; import { observedClaims } from '../fold/observed.ts'; import { layReleases, resolvedOf } from '../host/release.ts'; -import { ownLock, ownRoot, ownStore, processOf } from '../observe/runner.ts'; +import { ownLock, ownRoot, processOf } from '../observe/runner.ts'; import { landLaid } from '../fold/laid.ts'; -import { actSeconds, idleCount, instrumentKeep, instrumentKept, meets, noteIdle, receiptPlaces, receiptsSeen } from '../fold/closed.ts'; +import { actSeconds, closeReceipts, idleCount, instrumentKeep, instrumentKept, meets, noteIdle, receiptPlaces, receiptsSeen } from '../fold/closed.ts'; import { algorithmCost, instrumentOf, instrumentDigest } from '../fold/digests.ts'; import { writerFor } from '../fold/signers.ts'; import { defaulted, placesOf, viewsOf } from '../fold/views.ts'; @@ -26,6 +26,7 @@ import { releasePolicyLines } from '../fold/release-policy.ts'; import { carriedFrom } from '../fold/resolved.ts'; import { wireLine } from '../fold/wire.ts'; import { isWire, RECEIPTS } from '../fold/claims.ts'; +import {withoutEffects} from '../host/read-only.ts'; /** * The pass of a place, in one process: the releases its instrument names are laid out first, its readers observe @@ -76,7 +77,7 @@ async function checked(root: string, entry: string, under: string | undefined): export async function pass(root: string, entry: string, under: string | undefined, check: boolean): Promise { if (check) { // Verification reads existing evidence; it grants no admission authority. - return emptyLedger(storeOf(root)) ? checked(root, entry, under) : underTheLock(storeOf(root), 'check', () => checked(root, entry, under)); + return withoutEffects(() => emptyLedger(storeOf(root)) ? checked(root, entry, under) : underTheLock(storeOf(root), 'check', () => checked(root, entry, under))); } if (!under && emptyLedger(storeOf(root))) { sayStranger(root); @@ -86,8 +87,10 @@ export async function pass(root: string, entry: string, under: string | undefine const run = async (): Promise => { const swept = await sweep(root, entry, under, check, []); for (const coordinate of check ? swept.written : []) process.stdout.write(`DIFFERS ${coordinate}\n`); + // Byte seals describe the completed render pass, not its intermediate outputs. + if (!swept.written.length) await closeReceipts(root, storeOf(root)); const closed = meets(root, storeOf(root), under ?? '') && !swept.written.length; - const fold = foldPlace(root, entry, under, false, { standing: swept.standingAt.get(under ?? '') ?? standingOf(root, under), observed: swept.observed.length ? swept.observed : observedClaims(root, storeOf(root), { wait: false }), free: true }); + const fold = foldPlace(root, entry, under, false, { standing: swept.standingAt.get(under ?? '') ?? standingOf(root, under), observed: swept.settled ? [] : swept.observed.length ? swept.observed : observedClaims(root, storeOf(root), { wait: false }), free: !swept.settled }); for (const line of releasePolicyLines(fold.release)) process.stdout.write(`${line}\n`); if (closed) { instrumentKeep(storeOf(root), instrumentOf(storeOf(root), entry, standingOf(root).standing, root, ownLock())); @@ -119,6 +122,7 @@ async function sweep(root: string, entry: string, under: string | undefined, che readonly standingAt: ReadonlyMap>; readonly folds: ReadonlyMap; readonly said: readonly string[]; + readonly settled: boolean; }> { const store = storeOf(root); const digestAt = Date.now(); @@ -147,14 +151,15 @@ async function sweep(root: string, entry: string, under: string | undefined, che else process.stderr.write(`CLOSED ${under} · lock ${lock} ms · hash ${hash} ms\n`); const seconds = actSeconds(); process.stderr.write(`COST act ${seconds} s\n`); - return { same: 0, written: [], places: under === undefined ? read.count : 1, observed: [], standingAt: new Map(), folds: new Map(), said: [] }; + return { same: 0, written: [], places: under === undefined ? read.count : 1, observed: [], standingAt: new Map(), folds: new Map(), said: [], settled: true }; } - layReleases(store, ownRoot(), ownLock(), ownStore()); + const lock = standingOf(root, undefined, told); + // A place asks for its own mounts; the instrument catalog is not a consumer dependency. + layReleases(store, root, lock.standing, store); const descent = reach ?? (under ? [under.replace(/\/$/, '')] : undefined); const limited = descent !== undefined; const observed = given ?? observedClaims(root, store, { wait: true, ...(descent !== undefined ? { reach: descent } : {}) }); - const lock = standingOf(root, undefined, told); - landLaid(store, ownRoot(), ownLock(), writerFor(lock.standing, 'fold')); + landLaid(store, root, lock.standing, writerFor(lock.standing, 'fold')); const shaped = (standing: readonly string[]): readonly View[] => [...viewsOf(standing).values()].flatMap((view) => ('regions' in view && view.shape ? [view] : [])); const views = shaped(lock.standing); const tree = viewsOf(lock.lock); @@ -257,8 +262,8 @@ async function sweep(root: string, entry: string, under: string | undefined, che } } const said = [...answered.values()].flat(); - if (!check && journal === undefined) landSaid(store, writerFor(lock.standing, 'fold'), [...resolvedOf(store, ownRoot(), ownLock(), ownStore()), ...said]); - return { same, written, places: places.length + (under ? 0 : 1), observed, standingAt, folds, said: journal === undefined ? [] : said }; + if (!check && journal === undefined) landSaid(store, writerFor(lock.standing, 'fold'), [...resolvedOf(store, root, lock.standing, store), ...said]); + return { same, written, places: places.length + (under ? 0 : 1), observed, standingAt, folds, said: journal === undefined ? [] : said, settled: false }; } type Drawn = { readonly shape: string; readonly missing: readonly string[]; readonly text: string; readonly said: readonly string[] }; diff --git a/src/cli/place.ts b/src/cli/place.ts index e259fe3..565e275 100644 --- a/src/cli/place.ts +++ b/src/cli/place.ts @@ -10,7 +10,7 @@ import { observeText } from '../observe/files.ts'; import { placesOf, viewsOf } from '../fold/views.ts'; import type { View } from '../fold/views.ts'; import { prerender, viewOf } from '../render/view.ts'; -import { meets } from '../fold/closed.ts'; +import { meets, instrumentKept } from '../fold/closed.ts'; import { foldPoints, keepFold, keptPlace } from '../fold/kept.ts'; import { openCells } from '../render/open.ts'; import { boundOf, packRegions, regionsNamed, regionsOf, unlikeReplay } from '../fold/region.ts'; @@ -221,6 +221,12 @@ function inheritedOf(root: string, standing: readonly string[]): readonly string export function coneOf(root: string, entry: string, ceilings: readonly string[], descent?: readonly string[]): { readonly standing: readonly string[]; readonly observed: readonly string[]; readonly own: Readonly>; readonly kept: boolean } { const store = storeOf(root); const { standing, rendered } = standingOf(root); + // Admission consumes the verified completed fold; it does not ask providers again. + // Receipt bytes, reader history and instrument identity must all still agree. + if (meets(root, store, '') && instrumentKept(store) === instrumentOf(store, entry, standing, root, ownLock())) { + const held = keptPlace(store); + if (held !== undefined) return { standing, observed: held.observed, own: held.own, kept: true }; + } const named = regionsNamed(standing); const reach = descent !== undefined && descent.length ? [...descent] : [...new Set(ceilings.map((line) => boundOf(named, line).region))]; const read = observedClaims(root, store, { wait: false, ...(reach.includes('') ? {} : { reach }) }); diff --git a/src/cli/verb.ts b/src/cli/verb.ts index f2e6c0d..e04286d 100644 --- a/src/cli/verb.ts +++ b/src/cli/verb.ts @@ -45,6 +45,9 @@ import { claimLinesIn, entryOf, namedPlaces, positionalsOf, valueOf } from './ar import { EXIT, FLAGS, NAMED_VIEWS, helpLines } from './names.ts'; import type { VerbName } from './names.ts'; import { accept, signedBatch } from './accept.ts'; +import {renderWalk,landWalk,foreignWalkLines} from '../host/walk.ts'; +import {isWalkHeader} from '@lapxo/topos/walk'; +import {ingressBundles,ingressReceipts} from '../host/ports/ingress.ts'; /** The first land of a lock: TARGET.bound into an empty owner ledger, then the sources that lock names. */ async function firstLand(root: string, args: readonly string[]): Promise { @@ -176,6 +179,15 @@ async function view(root: string, under: string | undefined, asked: string, told process.stderr.write(`${selfName()}: the owner ledger is empty; land it before rendering a view\n`); return EXIT.refuse; } + if(name==='evidence'&&!under&&!told.length&&ingressBundles(storeOf(root)).length){ + const declared=viewsOf(lockStanding(storeOf(root))).get(name); + if(!declared||declared.shape||!declared.regions.some(region=>region.name==='evidence'))throw Error('REFUSE·view foreign evidence requires a declared evidence view'); + const received=await foreignWalkLines(root),authority=authorityFor(lockLines(storeOf(root)),rootSigner(root),signaturesOf(storeOf(root)).admitted); + const local=[...new Set(authority.admitted.flatMap(key=>ledgerLines(storeOf(root),key.id)))].filter(line=>authority.of(line).kind==='admitted'); + for(const line of [...new Set([...local,...ingressReceipts(storeOf(root)),...received])])process.stdout.write(line+'\n'); + process.stdout.write('FACT authenticated histories · readings · no encounters computed\n'); + return EXIT.closed; + } const at = Date.now(); const place = under?.replace(/\/$/, ''); const released = releaseOf(storeOf(root)); @@ -341,6 +353,11 @@ async function landVerb(root: string, rest: readonly string[]): Promise process.once('uncaughtException', (error) => die(error instanceof Error ? error.message : String(error))); process.once('unhandledRejection', (error) => die(error instanceof Error ? error.message : String(error))); try { + const proposed=batch.flatMap(claimLinesIn); + if(proposed.some(isWalkHeader)){ + for(const line of await landWalk(root,proposed,valueOf(rest,FLAGS.key),valueOf(rest,FLAGS.keyFile),valueOf(rest,FLAGS.signer)))process.stdout.write(line+'\n'); + return EXIT.closed; + } return await accept(root, rest); } catch (error) { const message = error instanceof Error ? error.message : String(error); @@ -365,7 +382,7 @@ function foldFile(at: string): number { } for (const line of folded.standing) process.stdout.write(`${line}\n`); for (const fork of folded.forks) process.stdout.write(`FORK ${fork.key}${fork.state ? ` · ${fork.state}` : ''}\n`); - process.stdout.write(`FACT ${folded.standing.length} standing · ${folded.forks.length} forks · ${basename(at)}\n`); + process.stdout.write(`FACT ${folded.standing.length} standing · ${folded.forks.length} forks · ${basename(at)} · readings · no encounters computed\n`); return EXIT.closed; } @@ -402,6 +419,15 @@ async function foldResolved(root: string, under: string | undefined, argv: reado // A named view does not request mounting every release of the instrument. const receiptCheck = as === undefined && argv.includes(FLAGS.check); + if(as?.split('@')[0]==='walk'){ + if(argv.includes(FLAGS.check))throw Error('REFUSE·walk check does not initiate or sign an exchange'); + if(under||inputs.length>1)throw Error('REFUSE·walk one place and one authenticated peer inventory per fold'); + const depth=as.split('@')[1];if(depth!==undefined&&(!/^(0|[1-9][0-9]*)$/.test(depth)||!Number.isSafeInteger(Number(depth))))throw Error('REFUSE·walk invalid resolution'); + const peer=inputs.length?claimLinesIn(inputs[0]!):[]; + for(const line of await renderWalk(root,depth===undefined?undefined:Number(depth),peer,valueOf(argv,FLAGS.key),valueOf(argv,FLAGS.keyFile),valueOf(argv,FLAGS.signer)))process.stdout.write(line+'\n'); + return EXIT.closed; + } + if(as===OBJECT_VIEW){const inputs=positionalsOf(argv).filter(one=>existsSync(resolve(one))&&!lstatSync(resolve(one)).isDirectory());if(inputs.length>1)throw Error('REFUSE·object one history snapshot per fold');const history=inputs.length?claimLinesIn(inputs[0]!):signedOwnerLines(storeOf(root));const held=await admittedObjects(root,history,text=>process.stdout.write(text+'\n'));const cells=objectFold(held.records,held.context);for(const c of cells)process.stdout.write('CELL '+JSON.stringify(c)+'\n');process.stdout.write(`FACT object fold ${cells.length} cells\n`);return EXIT.closed;} const key = valueOf(argv, FLAGS.key); if (as === undefined) { diff --git a/src/fold/claims.ts b/src/fold/claims.ts index c7224b0..231492b 100644 --- a/src/fold/claims.ts +++ b/src/fold/claims.ts @@ -46,7 +46,10 @@ function regionsOf(line: string): readonly Region[] { function contracted(line: string, sides: readonly string[], receipts: readonly { readonly scope: string; readonly moved: readonly string[] }[]): boolean { const scope = fieldsOf(line)['scope'] ?? ''; - const mine = exclusive(regionsOf(line), sides.filter((other) => other !== line).map(regionsOf)); + const named = regionsOf(line); + // File receipts can discharge only declared file regions. No region is not an empty proof. + if (named.length === 0) return false; + const mine = exclusive(named, sides.filter((other) => other !== line).map(regionsOf)); const touched = receipts.filter((r) => r.scope === scope).flatMap((r) => r.moved.map((coordinate) => point(coordinate))); return contracts(mine, touched); } diff --git a/src/fold/closed.ts b/src/fold/closed.ts index 5a9d729..8f73bba 100644 --- a/src/fold/closed.ts +++ b/src/fold/closed.ts @@ -1,6 +1,8 @@ +import {actCosts} from '../host/act-cost.ts'; +import {verifiedReadingReceipts} from '../host/reading-closures.ts'; import { dirname, existsSync, join, mkdirSync, relative, resolve, statSync, writeFileSync } from '../host/io.ts'; -import { canonical, LOCK, parse, roleAt, roleClaimsOf } from '@lapxo/topos/wire'; -import { RECEIPTS, fieldOf, isWire } from './claims.ts'; +import { byBytes, canonical, LOCK, parse, publicationOf, roleAt, roleClaimsOf } from '@lapxo/topos/wire'; +import { RECEIPTS, fieldOf, foldClaims, isConfig, isWire } from './claims.ts'; import { bytesDigest as hashBytes, fullDigest as hashFull } from '../host/digest.ts'; import { worldAt } from './places.ts'; import { ownLockOf } from './signed.ts'; @@ -10,9 +12,8 @@ import { coordinatesUnder, observeFile, observeText } from '../observe/files.ts' import { carriedFrom } from './resolved.ts'; import { takenFor } from '../fold/place-inputs.ts'; -/** A region is closed when the digest of its bytes is the one its receipt names. Folding a closed region is idle: idleCount is how many were already closed, actSeconds how long this act has run, receiptsSeen how many receipts were read and how long that took. */ +/** A region is closed when the digest of its bytes is the one its receipt names. Folding a closed region is idle: idleCount is how many were already closed, actSeconds the largest measured act or unpartitioned host work, receiptsSeen how many receipts were read and how long that took. */ let idle = 0; -const began = Date.now(); let seen = { count: 0, ms: 0 }; export const idleCount = (): number => idle; @@ -21,7 +22,7 @@ export const noteIdle = (): void => { idle += 1; }; -export const actSeconds = (): number => Math.max(0, Math.round((Date.now() - began) / 1000)); +export const actSeconds = (): number => actCosts.seconds(); export const receiptsSeen = (): { readonly count: number; readonly ms: number } => seen; @@ -62,13 +63,20 @@ function filesOf(root: string, place: string, region: string, inputs: readonly s const rooted = new Map(); +function publicConfiguration(lines: readonly string[]): readonly string[] { + if (!lines.length || !lines.every(isConfig)) return lines; + const folded = foldClaims(lines); + if (folded.forks.length) throw Error('REFUSE·receipt disputed configuration standing'); + return publicationOf(folded.standing.filter(line => fieldOf(line, 'value') !== 'withdraw')); +} + function rootLines(root: string, place: string): readonly string[] { const name = place.replace(/\/$/, ''); if (!name) return []; const key = `${root}\0${name}\0${lockStamp(root, '')}`; const held = rooted.get(key); if (held !== undefined) return held; - const standing = (observeText(join(root, LOCK)) ?? '').split('\n').filter(isWire); + const standing = publicConfiguration((observeText(join(root, LOCK)) ?? '').split('\n').filter(isWire)); // Authority validates admission separately; it is not a rendered file input. const lines = standing.filter((line) => fieldOf(line, 'value') !== 'withdraw' && !fieldOf(line, 'scope').startsWith('keys/')); const take = takenFor(lines, `${name}/`, worldAt(root, name) ? { own: ownLockOf(root, name), tree: viewsOf(standing) } : undefined); @@ -79,8 +87,18 @@ function rootLines(root: string, place: string): readonly string[] { /** File-fold identity uses public inputs; admission history stays in its separate ledger guard. */ export function fileRegionDigest(root: string, place: string, region: string, algorithm: string, inputs: readonly string[] = []): string { - const files = filesOf(root, place, region, inputs); - return hashFull([...files.map((rel) => `${relative(join(root, place), join(root, rel))} ${hashBytes(observeFile(join(root, rel)) ?? new Uint8Array(), algorithm)}`), ...rootLines(root, place)], algorithm); + const files = [...filesOf(root, place, region, inputs)].sort(byBytes); + const own = join(root, place, LOCK); + const bytesOf = (rel: string): Uint8Array => { + const at = join(root, rel), bytes = observeFile(at) ?? new Uint8Array(); + if (resolve(at) !== resolve(own)) return bytes; + const lines = new TextDecoder().decode(bytes).split('\n').filter(isWire); + // Object history keeps its own contract. Configuration's public identity is + // the existing Topos publication projection, not its admission envelopes. + if (!lines.length || !lines.every(isConfig)) return bytes; + return new TextEncoder().encode(publicConfiguration(lines).join('\n') + '\n'); + }; + return hashFull([...files.map((rel) => `${relative(join(root, place), join(root, rel))} ${hashBytes(bytesOf(rel), algorithm)}`), ...rootLines(root, place)], algorithm); } function namedReceipts(root: string, store: string): ReadonlyMap { @@ -95,14 +113,17 @@ function namedReceipts(root: string, store: string): ReadonlyMap return out; } +// Only the instrument's file seals describe file-region bytes. Reader receipts keep their own semantic identity. +const fileSeal = (line:string):boolean => isWire(line) && fieldOf(line,'measure') === 'bytes' && fieldOf(line,'by') === 'bound'; + function ownBytes(root: string): readonly string[] { - return (observeText(join(root, RECEIPTS)) ?? '').split('\n').filter(line => isWire(line) && fieldOf(line, 'measure') === 'bytes'); + return (observeText(join(root, RECEIPTS)) ?? '').split('\n').filter(fileSeal); } function bytesMeet(root: string, place: string): boolean { const shipped = (observeText(join(root, place, RECEIPTS)) ?? '').split('\n').filter(isWire); const inputs = carriedFrom(storeOf(root), shipped) ?? []; - const lines = shipped.filter(line => fieldOf(line, 'measure') === 'bytes'); + const lines = shipped.filter(fileSeal); const algorithm = algorithmIn(lines.join('\n')); return lines.length > 0 && algorithm !== '' && lines.map((line) => fieldOf(line, 'value')).join('\n') === lines.map((line) => fileRegionDigest(root, place, fieldOf(line, 'scope'), algorithm, inputs)).join('\n'); } @@ -126,8 +147,8 @@ function rewritePlace(root: string, place: string): void { const text = observeText(at) ?? ''; const algorithm = algorithmIn(text); if (algorithm === '') return; - const kept = text.split('\n').filter((line) => line === '' || !isWire(line) || fieldOf(line, 'measure') !== 'bytes'); - const regions = kept.filter((line) => isWire(line) && fieldOf(line, 'measure') === 'count' && fieldOf(line, 'scope').startsWith('receipts/')); + const kept = text.split('\n').filter((line) => line === '' || !fileSeal(line)); + const regions = kept.filter((line) => isWire(line) && fieldOf(line, 'measure') === 'count' && fieldOf(line,'by') === 'bound' && fieldOf(line, 'scope').startsWith('receipts/')); const bytes = regions.map((line) => { const scope = fieldOf(line, 'scope'); const inputs = carriedFrom(storeOf(root), kept.filter(isWire)) ?? []; @@ -159,11 +180,12 @@ export function meets(root: string, store: string, place: string): boolean { const own = ownBytes(root); const carried = own.length ? carriedFrom(store, (observeText(join(root, RECEIPTS)) ?? '').split('\n').filter(isWire)) : undefined; const ownClosed = own.length > 0 && carried !== undefined && carried.length > 0 && bytesMeet(root, ''); - const closed = (own.length > 0 ? ownClosed : named.size > 0) && [...named].every(([one, expected]) => { + let closed = (own.length > 0 ? ownClosed : named.size > 0) && [...named].every(([one, expected]) => { const bytes = observeFile(join(root, one, RECEIPTS)); const algorithm = expected.split(':')[0]; return bytes !== undefined && hashBytes(bytes, algorithm) === expected && meets(root, store, `${one}/`); }); + if(closed && carried){const algorithm=algorithmIn(own.join('\n'));const readings=verifiedReadingReceipts(store,carried,text=>hashFull(text,algorithm));if(readings===undefined)closed=false;else if(readings)process.stderr.write(`RECEIPTS ${readings} read · 0 opened · reading closures\n`);} seen = { count: named.size + (own.length > 0 ? 1 : 0), ms: Date.now() - at }; return closed; } diff --git a/src/fold/digests.ts b/src/fold/digests.ts index 3f2213d..1da15b3 100644 --- a/src/fold/digests.ts +++ b/src/fold/digests.ts @@ -7,6 +7,7 @@ import { EXTENSION, fieldOf, foldClaims, selfName } from './claims.ts'; import { wireLine } from './wire.ts'; import { publicLock, LOCK } from '@lapxo/topos/wire'; import {builtinModules,createRequire} from 'node:module'; +import {moduleImports} from '../host/adapters/modules/javascript.ts'; const held = new Map(); let algorithmMs = 0; @@ -106,6 +107,7 @@ const memoOf = (store: string): Map => stamped.get(store) ?? sta export function coordinateDigest(store: string, at: string): string | undefined { const stamp = stampOf(at); if (stamp?.kind !== 'file') return stamp === undefined ? undefined : bytesDigest(store, observeFile(at) ?? new Uint8Array()); + if (readOnly()) return bytesDigest(store, observeFile(at) ?? new Uint8Array()); const key = `${at} ${stamp.stamp}`; const memo = memoOf(store); const held = memo.get(key); @@ -134,9 +136,9 @@ const imported = new Map(); const importsOf = (store: string, at: string, digest: string): readonly string[] => { const key = `imports ${fullDigest(store,importsOf.toString())} ${digest}`; const memo = memoOf(store); - const held = imported.get(digest) ?? memo.get(key)?.split('|').filter(Boolean); + const held = imported.get(digest) ?? (readOnly() ? undefined : memo.get(key)?.split('|').filter(Boolean)); if (held !== undefined) return held; - const found = [...new TextDecoder().decode(observeFile(at) ?? new Uint8Array()).matchAll(/(?:\bfrom\s*|\bimport\s*\(\s*|\bimport\s*)['"]([^'"]*)['"]/g)].map((m) => m[1] ?? ''); + const found = moduleImports(new TextDecoder().decode(observeFile(at) ?? new Uint8Array()),at); imported.set(digest, found); memo.set(key, found.join('|')); if (!readOnly()) appendFileSync(join(store, 'cas', `stamps${EXTENSION}`), `${key}\t${found.join('|')}\n`); diff --git a/src/fold/observed.ts b/src/fold/observed.ts index 0f67c0a..0c90085 100644 --- a/src/fold/observed.ts +++ b/src/fold/observed.ts @@ -1,3 +1,5 @@ +import {actCosts} from '../host/act-cost.ts'; +import {readingClosures} from '../host/reading-closures.ts'; import {readerLifetime,readerAllowsEmpty,assertReaderInputs,parse as parseLifetime} from '@lapxo/topos/wire'; import {readOnly} from '../host/read-only.ts'; import { basename, dirname, existsSync, mkdirSync, resolve, rmSync, spawn, statSync, writeFileSync } from '../host/io.ts'; @@ -260,6 +262,15 @@ export function observedClaims(root: string, store: string, options: { readonly function observeOne(reader: ReaderClaim, started: number): boolean { const module = resolve(root, reader.module); const asked = reader.capsule === undefined ? undefined : reader.capsule.selected??capsuleAt(reader.capsule.digest, reader.capsule.entry); + const projection = reader.capsule === undefined ? [] : (asked?.lines ?? []).filter(line=>fieldOf(line,'scope')===`region/${reader.capsule!.region}`&&fieldOf(line,'measure')==='input-projection'&&fieldOf(line,'value')!=='withdraw'); + if(projection.length){ + if(projection.length!==1||!asked)throw Error('REFUSE·input projection is ambiguous '+reader.module); + const files=[...new Set(reader.where.flatMap(where=>handedAt(root,reader,roleOf,look,where)))].sort().map(place=>({place,text:observeText(resolve(root,place))??''})); + const result=readingClosures({root,store,reader:reader.module,speaker,digest:text=>bytesDigest(store,Buffer.from(text)),capsule:asked,region:reader.capsule!.region,projection:fieldOf(projection[0]!,'value'),allowsEmpty:readerAllowsEmpty(standing.flatMap(line=>{const p=parseLifetime(line);return p.kind==='fact'?[p.value.fields]:[];}),reader.module),files,emit:line=>process.stderr.write(line+'\n')}); + out.push(...result.lines);ran+=result.executed;read+=result.read-result.opened; + return false; + } + const endAct=actCosts.begin();try{ const source = reader.capsule === undefined ? observeFile(module) : asked === undefined ? undefined : new Uint8Array(); const bundle = source && reader.capsule === undefined ? bundleOf(module) ?? bytesDigest(store, source) : 'none'; const offered = offersOf(root, store, reader, roleOf, look, (where) => reached(trimmed(where))); @@ -435,9 +446,11 @@ export function observedClaims(root: string, store: string, options: { readonly if (Date.now() - started > 250) spent.push(`${reader.module.split('/').pop()} ${identified - started}+${Date.now() - identified}`); if (kept !== undefined) landMemo(store, `observed/${kept}`, new TextEncoder().encode(out.slice(mark).join('\n'))); return false; + }finally{endAct();} } if (spent.length) process.stderr.write(`SPENT observe ${spent.join(' · ')} ms\n`); if (legacy) setAside(store, speaker); process.stderr.write(`OBSERVE ${ran} run · ${read} read by key${whole_ ? ` · ${whole_} readers kept whole` : ''} · ${Date.now() - began} ms\n`); + if (wait && refused.length) throw new Error(refused.join('\n')); return [...new Set(out)].sort(); } diff --git a/src/fold/resolved.ts b/src/fold/resolved.ts index 09c7707..32830be 100644 --- a/src/fold/resolved.ts +++ b/src/fold/resolved.ts @@ -94,17 +94,20 @@ export function keepCarried(store: string, lines: readonly string[], from?: stri * the caller refuses rather than read the lines that only name it. */ export function carriedFrom(store: string, shipped: readonly string[]): readonly string[] | undefined { - const named = shipped.find((line) => fieldOf(line, 'scope') === 'receipts' && fieldOf(line, 'measure') === 'digest'); + // Signed receipts inside the observed set are evidence, not its framing. + const headerOf = (line: string): boolean => fieldOf(line, 'scope') === 'receipts' && fieldOf(line, 'measure') === 'digest' && fieldOf(line, 'by') === 'bound' && !fieldOf(line, 'sig'); + const named = shipped.find(headerOf); if (named === undefined) return shipped; // Resolution 8 may precede its authenticated summary in the same public file. // It is evidence only if its exact bytes meet the summary's carrier digest. for (let i = 1; i < shipped.length; i += 1) { const header = shipped[i]!; - if (fieldOf(header, 'scope') !== 'receipts' || fieldOf(header, 'measure') !== 'digest') continue; + if (!headerOf(header)) continue; const digest = fieldOf(header, 'at').replace(/^place:sha256:/, ''); const body = shipped.slice(0, i); if (/^[0-9a-f]{64}$/.test(digest) && createHash('sha256').update(body.map(line => `${line}\n`).join('')).digest('hex') === digest) return body; } + if (shipped.indexOf(named) > 0) throw Error('REFUSE·receipt public carrier bytes mismatch; a cached carrier cannot replace supplied evidence'); const hex = fieldOf(named, 'at').replace(/^place:(?:sha256:)?/, ''); const text = /^[0-9a-f]{64}$/.test(hex) ? verifiedCarried(storeAt(store, 'cas', 'carried', hex), hex) : undefined; return text === undefined ? undefined : text.split('\n').filter(isWire); diff --git a/src/host/act-cost.ts b/src/host/act-cost.ts new file mode 100644 index 0000000..d2038b5 --- /dev/null +++ b/src/host/act-cost.ts @@ -0,0 +1,16 @@ +/** A sequence of declared acts is not one act. Unpartitioned host work still has a cost. */ +export class ActCosts { + private readonly began:number; + private occupied=0; + private largest=0; + private depth=0; + private readonly clock:()=>number; + constructor(clock:()=>number=()=>performance.now()){this.clock=clock;this.began=clock();} + begin():()=>void { + const started=this.clock(),outer=this.depth++===0;let closed=false; + return()=>{if(closed)throw Error('Act measurement closed twice');closed=true;const elapsed=Math.max(0,this.clock()-started);this.depth--;this.largest=Math.max(this.largest,elapsed);if(outer)this.occupied+=elapsed;}; + } + measure(work:()=>T):T{const end=this.begin();try{return work();}finally{end();}} + seconds():number{return Math.max(0,Math.round(Math.max(this.largest,this.clock()-this.began-this.occupied)/1000));} +} +export const actCosts=new ActCosts(); diff --git a/src/host/adapters/modules/javascript.ts b/src/host/adapters/modules/javascript.ts new file mode 100644 index 0000000..f1da5c6 --- /dev/null +++ b/src/host/adapters/modules/javascript.ts @@ -0,0 +1,36 @@ +import type {parse as Parser} from 'acorn'; +import * as nodeModule from 'node:module'; +import {extname} from 'node:path'; + +/** Host module syntax, never wire or domain interpretation. Reading imports executes no module. */ +// The package's minimum Node runtime provides this API; older build-only Node types do not. +const require=nodeModule.createRequire(import.meta.url); +const {parse}=require('acorn') as {parse:typeof Parser}; +const stripTypeScriptTypes=(nodeModule as unknown as {stripTypeScriptTypes:(source:string,options:{mode:'transform'})=>string}).stripTypeScriptTypes; +export function moduleImports(source: string, coordinate: string): readonly string[] { + const code=extname(coordinate)==='.ts'?stripTypeScriptTypes(source,{mode:'transform'}):source; + let tree: unknown; + try{tree=parse(code,{ecmaVersion:'latest',sourceType:'module',allowReturnOutsideFunction:true,allowHashBang:true})} + catch{throw Error('REFUSE·source module syntax cannot be read: '+coordinate)} + const found=new Set(); + const literal=(node:unknown):string|undefined=>{ + if(!node||typeof node!=='object')return; + const n=node as Record; + return n['type']==='Literal'&&typeof n['value']==='string'?n['value']:undefined; + }; + const visit=(node:unknown):void=>{ + if(!node||typeof node!=='object')return; + if(Array.isArray(node)){for(const child of node)visit(child);return;} + const n=node as Record; + let specifier:string|undefined; + if(n['type']==='ImportDeclaration'||n['type']==='ExportNamedDeclaration'||n['type']==='ExportAllDeclaration'||n['type']==='ImportExpression')specifier=literal(n['source']); + if(n['type']==='CallExpression'){ + const callee=n['callee'] as Record|undefined; + if(callee?.['type']==='Identifier'&&callee['name']==='require')specifier=literal((n['arguments'] as unknown[])[0]); + } + if(specifier!==undefined)found.add(specifier); + for(const child of Object.values(n))visit(child); + }; + visit(tree); + return [...found]; +} diff --git a/src/host/capsule-process.ts b/src/host/capsule-process.ts index 3290834..9887451 100644 --- a/src/host/capsule-process.ts +++ b/src/host/capsule-process.ts @@ -1,3 +1,4 @@ +import {actCosts} from './act-cost.ts'; import {boundedProcess} from './process-lifetime.ts'; import type {ReaderLifetime} from '@lapxo/topos/wire'; import { spawnSync } from 'node:child_process'; @@ -39,6 +40,7 @@ export function validResponse(value: unknown, request: Request): value is Respon /** Last-line JSON is the wire framing. No partial batch, failed exit or synthetic missing response is accepted. */ export function executeCapsule(command: string, args: readonly string[], requests: readonly Request[], limits: Pick = {}, lifetime?:ReaderLifetime): readonly Response[] { + return actCosts.measure(()=>{ const run = lifetime===undefined?spawnSync(command, args, { input: JSON.stringify(requests), encoding: 'utf8', maxBuffer: 1 << 26, ...limits }):boundedProcess(command,args,JSON.stringify(requests),lifetime); if ('error' in run && run.error) throw new CapsuleProcessError(`failed: ${run.error.message}`, run); if (run.signal !== null || run.status !== 0) throw new CapsuleProcessError(`exited ${run.status ?? `with signal ${run.signal}`}`, run); @@ -51,4 +53,5 @@ export function executeCapsule(command: string, args: readonly string[], request } if (run.stderr) process.stderr.write(run.stderr); return values as readonly Response[]; + }); } diff --git a/src/host/capsule.ts b/src/host/capsule.ts index 0277889..030ec24 100644 --- a/src/host/capsule.ts +++ b/src/host/capsule.ts @@ -44,9 +44,9 @@ function unpacked(digest: string, bytes: Uint8Array): string { /** * A capsule is the bytes a digest names in the instrument's own store, and only when they hash to it: its own lock is - * read from them, and the coordinate a lock names runs as a process of its own, like a reader. Each answer is kept in one - * slot of the capsule, the place and the region; the body of the request is the hit, so a file that moved misses and - * overwrites the slot, and a request asked again for the same bytes is read back and never run twice. Operational failures never enter the cache; refusals and abstentions are asked again. + * read from them, and the coordinate a lock names runs as a process of its own, like a reader. Each answer is kept by the + * digest of its complete declared request and implementation; distinct views retain distinct answers, and the same + * request reads its verified answer without running again. Operational failures never enter the cache; refusals and abstentions are asked again. */ const capsules = new Map(); @@ -101,10 +101,9 @@ function answered(digest: string, bytes: Uint8Array, requests: readonly Request[ return requests.map(() => undefined); } const loader = entry !== undefined ? `${createHash('sha256').update(`${relative(tree!, entry)}\n`).digest('hex')}\n` : child.length > 1 ? `${createHash('sha256').update(observeFile(child[0]!) ?? new Uint8Array()).digest('hex')}\n` : ''; - const slotOf = (request: Request): string => sha(`${digest}\n${loader}${request.verb}\n${request.rootScope}\n${request.region ?? ''}`); const hitOf = (request: Request): string => sha(`${digest}\n${loader}${JSON.stringify(request)}`); - const kept = requests.map((request) => storeAt(cacheStore, 'cas', 'answers', slotOf(request))); const hits = requests.map(hitOf); + const kept = hits.map(hit => storeAt(cacheStore, 'cas', 'answers', hit)); const held = kept.map((at, i) => { const text = observeText(at); if (text === undefined) return undefined; @@ -126,7 +125,7 @@ function answered(digest: string, bytes: Uint8Array, requests: readonly Request[ if (said?.kind === 'fact') { const text = JSON.stringify({ format: 'capsule-answer/2', hit: hits[i], said }); replaceWhole(kept[i]!, text); - holdStore(cacheStore, 'answers', slotOf(request), Buffer.byteLength(text)); + holdStore(cacheStore, 'answers', hits[i]!, Buffer.byteLength(text)); } return said; }); diff --git a/src/host/ports/ingress.ts b/src/host/ports/ingress.ts new file mode 100644 index 0000000..93dab17 --- /dev/null +++ b/src/host/ports/ingress.ts @@ -0,0 +1,67 @@ +import {randomUUID} from 'node:crypto'; +import {closeSync,existsSync,fsyncSync,mkdirSync,openSync,readFileSync,readdirSync,renameSync,rmSync,writeFileSync} from 'node:fs'; +import {join} from 'node:path'; +import {requireEffects} from '../read-only.ts'; +import {underTheLock} from '../../land/act.ts'; + +/** Prepared by the admitted Topos contract and receiver signer. The host does not infer origins, coverage or epochs. */ +export interface IngressBundle {readonly evidence: string; readonly receipt: string} +export interface IngressResult extends IngressBundle {readonly kind: 'landed' | 'once'; readonly evidenceBytes: number; readonly receiptBytes: number} +export interface IngressStorage { + publish(staged: string, committed: string): void; +} +const syncDirectory = (path: string): void => {const fd=openSync(path,'r');try{fsyncSync(fd)}finally{closeSync(fd)}}; +const durableFile = (path: string, text: string): void => {const fd=openSync(path,'wx',0o600);try{writeFileSync(fd,text);fsyncSync(fd)}finally{closeSync(fd)}}; +/** Directory publication makes the pair visible together; there is no later ledger append that can expose half. */ +export const nativeIngressStorage: IngressStorage = {publish(staged,committed){renameSync(staged,committed);syncDirectory(join(committed,'..'))}}; +const directory = (store: string): string => join(store,'ingress'); +const nameOf = (identity: string): string => { + if(!identity||identity.includes('\0'))throw Error('REFUSE·ingress missing import identity'); + return 'committed-'+encodeURIComponent(identity); +}; +const read = (at: string): IngressBundle => ({evidence:readFileSync(join(at,'evidence.bound'),'utf8'),receipt:readFileSync(join(at,'receipt.bound'),'utf8')}); +const measured = (kind: 'landed'|'once', bundle: IngressBundle): IngressResult => ({kind,...bundle,evidenceBytes:Buffer.byteLength(bundle.evidence),receiptBytes:Buffer.byteLength(bundle.receipt)}); + +/** Native signed receipt lines only. Foreign bytes are never added to the local ledger or epoch allocator. */ +export function ingressReceipts(store: string): readonly string[] { + const root=directory(store);if(!existsSync(root))return []; + return readdirSync(root).filter(name=>name.startsWith('committed-')).sort().flatMap(name=>read(join(root,name)).receipt.split('\n').filter(Boolean)); +} +/** Private staging directories are invisible to readers and may be discarded after host recovery. */ +export function ingressEvidence(store: string, identity: string): IngressBundle | undefined { + const at=join(directory(store),nameOf(identity));return existsSync(at)?read(at):undefined; +} + +export function ingressBundles(store: string): readonly IngressBundle[] { + const root=directory(store);if(!existsSync(root))return []; + return readdirSync(root).filter(name=>name.startsWith('committed-')).sort().map(name=>read(join(root,name))); +} + +/** Verification and signing complete before staging. Replay performs no signer invocation or persistent write. */ +export async function commitIngress(store: string, identity: string, + prepare: (localImportReceipts: readonly string[]) => Promise, + verify: (bundle: IngressBundle) => boolean, + storage: IngressStorage = nativeIngressStorage): Promise { + requireEffects('foreign evidence ingress'); + return underTheLock(store,'ingress',async()=>{ + const root=directory(store),at=join(root,nameOf(identity)); + if(existsSync(at)){const prior=read(at);if(verify(prior)!==true)throw Error('REFUSE·ingress committed bytes do not verify');return measured('once',prior)} + const bundle=await prepare(ingressReceipts(store)); + if(!bundle.evidence||!bundle.receipt||verify(bundle)!==true)throw Error('REFUSE·ingress evidence and receipt do not verify'); + mkdirSync(root,{recursive:true}); + const staged=join(root,'.stage-'+randomUUID());mkdirSync(staged,{mode:0o700}); + try { + durableFile(join(staged,'evidence.bound'),bundle.evidence); + durableFile(join(staged,'receipt.bound'),bundle.receipt); + syncDirectory(staged); + storage.publish(staged,at); + }finally{rmSync(staged,{recursive:true,force:true})} + return measured('landed',bundle); + }); +} + +/** Costs distinguish delivered bytes from newly committed bytes; no count is called information or freedom. */ +export function ingressCost(result: IngressResult, deliveredBytes: number, protocolBytes: number): string { + if(!Number.isSafeInteger(deliveredBytes)||deliveredBytes<0||!Number.isSafeInteger(protocolBytes)||protocolBytes<0)throw Error('REFUSE·ingress invalid exchange byte measurement'); + return `EXCHANGE ${deliveredBytes} payload bytes · ${protocolBytes} protocol bytes · ${result.kind==='once'?0:result.evidenceBytes} new evidence bytes · ${result.kind==='once'?0:result.receiptBytes} new receipt bytes`; +} diff --git a/src/host/reading-closures.ts b/src/host/reading-closures.ts new file mode 100644 index 0000000..921898c --- /dev/null +++ b/src/host/reading-closures.ts @@ -0,0 +1,92 @@ +import {actCosts} from './act-cost.ts'; +import {mkdirSync,readFileSync,existsSync} from 'node:fs'; +import {join,dirname} from 'node:path'; +import {canonical,parse,PROTOCOL,byBytes} from '@lapxo/topos/wire'; +import type {Capsule} from './capsule.ts'; +import {replaceWhole,landShard,shardLines} from '../land/ledger.ts'; +import {fieldOf} from '../fold/claims.ts'; +import {readOnly} from './read-only.ts'; + +type File={readonly place:string;readonly text:string}; +type Plan={scope:string;inputs:readonly string[];needs:readonly string[];resolution:number;line:string}; +const fields=(line:string)=>{const got=parse(line);if(got.kind!=='fact')throw Error('REFUSE·input projection contains a non-wire line');return got.value.fields;}; +export const inputLines=(files:readonly File[]):readonly string[]=>files.map(file=>canonical({scope:file.place,form:'alphabet',measure:'text',role:'writes',value:'lock',shape:file.place,about:file.text,by:'host',at:'policy:handed-input'})); +/** The selected world owns input projection and reading. The host only verifies closures and keeps native count/bytes receipts. */ +export function readingClosures(options:{root:string;store:string;reader:string;speaker:string;digest:(text:string)=>string;capsule:Capsule;region:string;projection:string;allowsEmpty?:boolean;files:readonly File[];emit?:(line:string)=>void}):{lines:readonly string[];read:number;opened:number;executed:number}{ + const {root,store,reader,speaker,digest:hash,capsule,region,projection,files}=options,emit=options.emit??(()=>{}); + const algorithm=hash('').split(':')[0]!,handed=new Map(files.map(file=>[file.place,file.text])); + if(handed.size!==files.length)throw Error('REFUSE·input projection has duplicate handed coordinates'); + const verify=()=>{for(const file of files)if(!readFileSync(join(root,file.place)).equals(Buffer.from(file.text)))throw Error('REFUSE·input changed '+file.place);}; + verify(); + const projected=capsule.ask([{protocol:PROTOCOL,verb:'render',rootScope:'',region:projection,at:1,reads:['**'],lines:inputLines(files),files:[]}])[0]; + if(projected?.kind!=='fact'||!Array.isArray(projected.lines))throw Error('REFUSE·input projection '+(projected?.why??'no lines')); + const plans=new Map(); + for(const line of projected.lines){const f=fields(line),scope=f.scope??'',resolution=/^receipt:(\d+)$/.exec(f.at??''); + if(!scope||plans.has(scope)||f.form!=='alphabet'||f.measure!=='reads'||f.role!=='reads'||!resolution)throw Error('REFUSE·input projection ambiguous reading '+scope); + const inputs=(f.value??'').split('|').filter(Boolean),needs=(f.needs??'').split('|').filter(Boolean); + if(!inputs.length||new Set(inputs).size!==inputs.length||inputs.some(input=>!handed.has(input))||new Set(needs).size!==needs.length)throw Error('REFUSE·input projection has unhanded or duplicate dependencies '+scope); + const n=Number(resolution[1]);if(!Number.isSafeInteger(n))throw Error('REFUSE·input projection invalid resolution '+scope); + plans.set(scope,{scope,inputs,needs,resolution:n,line:canonical({scope,form:f.form,measure:f.measure,role:f.role,value:inputs.join('|'),needs:needs.join('|'),at:f.at})}); + } + if(!plans.size)throw Error('REFUSE·input projection returned no readings'); + const ordered:Plan[]=[],visiting=new Set(),done=new Set(); + const visit=(scope:string)=>{if(done.has(scope))return;if(visiting.has(scope))throw Error('REFUSE·input projection dependency cycle '+scope);const p=plans.get(scope);if(!p)throw Error('REFUSE·input projection missing reading '+scope);visiting.add(scope);for(const need of p.needs)visit(need);visiting.delete(scope);done.add(scope);ordered.push(p);}; + for(const scope of plans.keys())visit(scope); + const identity=hash([capsule.selection??'',capsule.digest,region,projection].join('\n')),by=speaker+':'+identity.split(':')[1]!.slice(0,12),journal='reading-closures/'+identity.split(':')[1]; + const prior=shardLines(store,speaker,journal),results=new Map(),out:string[]=[]; + const carried=(digest:string)=>join(store,'cas','carried',digest.split(':')[1]??''); + const saved=(text:string)=>{const digest=hash(text),path=carried(digest);mkdirSync(dirname(path),{recursive:true});if(!existsSync(path)||hash(readFileSync(path,'utf8'))!==digest)replaceWhole(path,text);return digest;}; + const load=(digest:string)=>{if(!digest.startsWith(algorithm+':')||! /^[a-f0-9]+$/.test(digest.split(':')[1]??''))return;const path=carried(digest);if(!existsSync(path))return;const text=readFileSync(path,'utf8');return hash(text)===digest?text:undefined;}; + let read=0,opened=0,executed=0; + for(const plan of ordered){actCosts.measure(()=>{ + const closure=[plan.line,canonical({scope:'implementation',role:'writes',form:'alphabet',measure:'digest',value:identity,by:'host',at:'policy:input-identity'}),...plan.inputs.map(input=>canonical({scope:input,role:'writes',form:'alphabet',measure:'digest',value:hash(handed.get(input)!),by:'host',at:'policy:input-identity'})),...plan.needs.map(need=>canonical({scope:need,role:'writes',form:'alphabet',measure:'digest',value:results.get(need)!.digest,by:'host',at:'policy:input-identity'}))].sort(byBytes).join('\n')+'\n'; + const input=hash(closure),scope='receipts/readings/'+hash(plan.scope).split(':')[1]+'/'+input.split(':')[1],matching=prior.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')==='bytes'&&fieldOf(line,'value')===input).at(-1); + const count=matching&&prior.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')==='count'&&fieldOf(line,'by')===by).at(-1); + const heldOutput=count&&load(fieldOf(count,'at').replace(/^place:/,'')); + const heldLines=heldOutput?.split('\n').filter(Boolean); + const output=heldLines!==undefined&&fieldOf(count!,'value')===`${heldLines.length}..${heldLines.length}`&&heldLines.every(line=>{const f=fields(line);return f.by===by&&f.at==='place:'+input;})?heldOutput:undefined; + let lines:readonly string[],payload:string; + if(output!==undefined&&load(input)===closure){if(output===''&&!options.allowsEmpty)throw Error('REFUSE·reading empty response is not admitted '+plan.scope);lines=output.split('\n').filter(Boolean);for(const line of lines)fields(line);payload=fieldOf(count!,'at').replace(/^place:/,'');} + else { + if(readOnly())throw Error('REFUSE·preview reading closure is unpaid '+plan.scope); + const started=process.hrtime.bigint(); + const dependencies=plan.needs.flatMap(need=>results.get(need)!.lines),answer=capsule.ask([{protocol:PROTOCOL,verb:'read',rootScope:plan.scope,name:plan.scope,region,at:plan.resolution,reads:['**'],lines:[...inputLines(plan.inputs.map(place=>({place,text:handed.get(place)!}))),...dependencies],files:[]}])[0]; + if(answer?.kind!=='fact'||!Array.isArray(answer.claims))throw Error('REFUSE·reading '+plan.scope+' · '+(answer?.why??'no claims')); + lines=answer.claims.map((unknown:any)=>{if(typeof unknown?.scope!=='string'||typeof unknown?.measure!=='string'||typeof unknown?.role!=='string'||!unknown.bound||!['interval','enumerated'].includes(unknown.bound.kind))throw Error('REFUSE·reading malformed claim '+plan.scope);const span=unknown.bound;const text=canonical({scope:unknown.scope,measure:unknown.measure,role:unknown.role,form:span.kind==='interval'?'interval':'alphabet',value:span.kind==='interval'?`${span.lo}..${span.hi}`:Array.isArray(span.values)?span.values.join('|'):'',by,at:'place:'+input});fields(text);return text;}); + if(!lines.length&&!options.allowsEmpty)throw Error('REFUSE·reading empty response is not admitted '+plan.scope); + executed++;verify();payload=saved(lines.length?[...lines].sort(byBytes).join('\n')+'\n':'');if(saved(closure)!==input)throw Error('REFUSE·receipt input closure mismatch'); + const seconds=(Number(process.hrtime.bigint()-started)/1e9).toFixed(6); + landShard(store,speaker,journal,[canonical({scope,role:'writes',form:'interval',measure:'count',value:`${lines.length}..${lines.length}`,by,at:'place:'+payload}),canonical({scope,role:'writes',form:'alphabet',measure:'bytes',value:input,by,at:'place:'+input}),canonical({scope,role:'writes',form:'interval',measure:'s',value:seconds+'..'+seconds,by,at:'place:'+input})]); + if(plan.resolution===1)opened++; + } + results.set(plan.scope,{digest:payload,lines});out.push(canonical({scope:plan.scope,role:'writes',form:'alphabet',measure:'observed',value:input,by,at:'place:'+input}),...lines); + if(plan.resolution===1){read++;const native=shardLines(store,speaker,journal).filter(line=>fieldOf(line,'scope')===scope&&((fieldOf(line,'measure')==='bytes'&&fieldOf(line,'value')===input)||(fieldOf(line,'measure')==='count')||(fieldOf(line,'measure')==='s'&&fieldOf(line,'at')==='place:'+input))).map(line=>{ + const f=fields(line),id=f.measure==='bytes'?f.value:f.measure==='count'?(f.at??'').replace(/^place:/,''):undefined; + if(id===undefined)return line; + const bytes=load(id);if(bytes===undefined)throw Error('REFUSE·receipt missing verified carrier '+id); + // The full-resolution native row carries the actual verified UTF-8 bytes. + // Its semantic count/digest is unchanged; a public copy needs no private CAS. + return canonical({...f,about:bytes}); + });out.push(canonical({scope,role:'writes',form:'alphabet',measure:'observed',value:payload,by,at:'place:'+payload}),...native);} + });} + verify();emit(`RECEIPTS ${read} read · ${opened} opened · reading closures`); + return{lines:out,read,opened,executed}; +} + +/** Verify the native reading carriers before a file seal may reuse them. These are semantic receipts, not file-region seals. */ +export function verifiedReadingReceipts(store:string,lines:readonly string[],digest:(text:string)=>string):number|undefined { + const units=lines.filter(line=>fieldOf(line,'scope').startsWith('receipts/readings/')&&fieldOf(line,'measure')==='bytes'&&fieldOf(line,'role')==='writes'); + const load=(id:string,row:string)=>{const hex=id.split(':')[1];if(!hex||!/^[a-f0-9]+$/.test(hex))return; + const supplied=fields(row).about; + // A supplied carrier must authenticate even if an old local copy still exists. + if(supplied!==undefined)return digest(supplied)===id?supplied:undefined; + const path=join(store,'cas','carried',hex);if(!existsSync(path))return;const bytes=readFileSync(path,'utf8');return digest(bytes)===id?bytes:undefined;}; + for(const unit of units){ + const input=fieldOf(unit,'value'),scope=fieldOf(unit,'scope'),by=fieldOf(unit,'by'),counts=lines.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')==='count'&&fieldOf(line,'by')===by&&fieldOf(line,'role')==='writes'); + if(counts.length!==1||load(input,unit)===undefined)return; + const count=counts[0]!,output=load(fieldOf(count,'at').replace(/^place:/,''),count);if(output===undefined)return; + const rows=output.split('\n').filter(Boolean); + if(fieldOf(count,'value')!==`${rows.length}..${rows.length}`||rows.some(line=>fieldOf(line,'by')!==by||fieldOf(line,'at')!=='place:'+input))return; + } + return units.length; +} diff --git a/src/host/release.ts b/src/host/release.ts index 5a01324..93c2134 100644 --- a/src/host/release.ts +++ b/src/host/release.ts @@ -51,10 +51,22 @@ function layDir(from: string, into: string): void { } } -function swapPlace(place: string, next: string, digest: string): void { +function swapPlace(place: string, next: string, digest: string, ready?: () => boolean): void { const old = `${next}.old`; if (lstatSync(old, { throwIfNoEntry: false }) !== undefined) throw new Error(`REFUSE·release recovery required for ${old}`); writeFileSync(join(next, laidMark), digest, { flag: 'wx' }); + if (ready !== undefined) { + // Digest-addressed trees publish once. A verified concurrent winner is reused, + // never moved aside while another process may be importing its members. + if (ready()) { rmSync(next, { recursive: true, force: true }); return; } + try { renameSync(next, place); return; } + catch (error) { + const code = (error as NodeJS.ErrnoException).code; + if (code !== 'EEXIST' && code !== 'ENOTEMPTY') throw error; + if (ready()) { rmSync(next, { recursive: true, force: true }); return; } + // An existing invalid cache retains the repair/rollback path below. + } + } let moved = false; try { if (lstatSync(place, { throwIfNoEntry: false }) !== undefined) { renameSync(place, old); moved = true; } @@ -204,7 +216,7 @@ export function runtimeTreeAt(store: string, own: string, digest: string, conten if (observeText(join(place, laidMark)) === digest && layoutMatches(place, files)) return selected; for (const member of members(bytes)) landBlob(store, digestOf(member.bytes), member.bytes); const next = nextPlace(place); - try { layFiles(store, own, files, next); swapPlace(place, next, digest); } + try { layFiles(store, own, files, next); swapPlace(place, next, digest, () => observeText(join(place, laidMark)) === digest && layoutMatches(place, files)); } catch (error) { rmSync(next, { recursive: true, force: true }); throw error; } return selected; } diff --git a/src/host/walk.ts b/src/host/walk.ts new file mode 100644 index 0000000..2b1d795 --- /dev/null +++ b/src/host/walk.ts @@ -0,0 +1,142 @@ +import {walkProjection,walkAt,walkSnapshot,walkHeaders,readWalkHeaders,readForeignWalk,walkAuthority,walkOrigin,walkInventory,walkSelection,isWalkHeader} from '@lapxo/topos/walk'; +import type {WalkSnapshot,WalkRegion} from '@lapxo/topos/walk'; +import {canonical,parse,fromLine,wireAt,matches,objectHistory,validateObjectContext} from '@lapxo/topos/wire'; +import {objectProvider} from '@lapxo/topos/object-provider'; +import {standingBytes} from '@lapxo/topos/standing'; +import {fieldOf} from '../fold/claims.ts'; +import {lockStanding,lockLines} from '../fold/keys.ts'; +import {authorityFor,rootSigner} from '../fold/signers.ts'; +import {publicKeyOf} from '../fold/signers.ts'; +import {signaturesOf} from '../fold/digests.ts'; +import {fullDigest} from './digest.ts'; +import {toposAt,contextModuleAt} from './selected-topos.ts'; +import {signerFor} from './signing.ts'; +import {signConsentLot,verifiesFields} from '../land/sign.ts'; +import {storeOf} from '../land/ledger.ts'; +import {signedOwnerLines,epochOf,localActLines,ownerOf} from '../cli/owner.ts'; +import {commitIngress,ingressBundles,ingressCost} from './ports/ingress.ts'; +import type {IngressBundle} from './ports/ingress.ts'; + +const refuse=(why:string):never=>{throw Error('REFUSE·walk '+why)}; +const fields=(line:string)=>{const p=parse(line);if(p.kind!=='fact')return refuse('not a wire line');return p.value.fields}; +const one=(lines:readonly string[],scope:string,measure:string):string=>{ + const rows=lines.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')===measure&&fieldOf(line,'value')!=='withdraw'); + if(rows.length!==1)return refuse('missing or conflicting '+scope+' '+measure); + return fieldOf(rows[0]!,'value'); +}; +function policy(root:string){ + const store=storeOf(root),standing=lockStanding(store),contract=walkSelection(standing); + const view=one(standing,'view/walk','id');if(view!=='walk@*')refuse('view/walk must declare walk@*'); + const masks=standing.filter(line=>fieldOf(line,'scope')==='view/walk').flatMap(line=>fieldOf(line,'needs').split('|')).filter(Boolean); + if(!masks.length)refuse('view/walk has no declared history inputs'); + const wire=wireAt(standing.map(fields),Number.MAX_SAFE_INTEGER),algorithm=wire?.digests.values().next().value; + if(!algorithm)refuse('no admitted digest algorithm'); + return {store,standing,contract,masks,digest:(bytes:string)=>fullDigest(bytes,algorithm!)}; +} +function context(root:string,pin:string,own=false){ + const p=policy(root); + if(!own&&!p.standing.some(line=>fieldOf(line,'scope').startsWith('uses/')&&fieldOf(line,'value')===pin))refuse('origin context is not selected by digest'); + const topos=toposAt(pin,p.store),authority=walkAuthority(topos.parts,verifiesFields); + const configuration=topos.parts.map(f=>canonical({...f,by:'target',epoch:'0'})); + return {pin,topos,authority,configuration,origin:walkOrigin(topos.parts),contract:walkSelection(topos.lines)}; +} +function local(root:string):WalkSnapshot { + const p=policy(root),authority=authorityFor(lockLines(p.store),rootSigner(root),signaturesOf(p.store).admitted); + const history=signedOwnerLines(p.store).filter(line=>p.masks.some(mask=>matches(mask,fieldOf(line,'scope')))); + if(history.some(line=>authority.of(line).kind!=='admitted'))refuse('local history is not authenticated'); + const selected=context(root,one(p.standing,'walk/context','digest'),true); + return walkSnapshot(history,selected.contract.fields,p.digest,selected.origin,selected.contract.partition); +} +const headerInfo=(lines:readonly string[])=>{ + const roots=lines.filter(line=>isWalkHeader(line)&&fieldOf(line,'scope')==='walk/root'); + if(roots.length!==1)return refuse('one signed root is required'); + const at=fieldOf(roots[0]!,'at');if(!at.startsWith('receipt:'))return refuse('root has no declared context'); + return {pin:at.slice(8),base:fieldOf(roots[0]!,'condition')}; +}; +async function validateHistory(root:string,selected:ReturnType,history:readonly string[]):Promise{ + if(!selected.authority.authenticate(history))refuse('origin history is not authenticated'); + for(const line of history){const f=fields(line),decoded=fromLine(line,wireAt(selected.topos.parts,Number(f.epoch)));if(decoded.kind!=='fact')refuse('origin wire '+decoded.why);} + const decoded=objectHistory([...selected.configuration,...history]);if(decoded.kind!=='fact')return refuse('origin history '+decoded.why); + if(!decoded.value.objects.length)return; + const pinned=new Set(selected.topos.lines); + const admit=(f:Readonly>)=>Boolean(f.sig)?selected.authority.of(canonical(f)).kind==='admitted':pinned.has(standingBytes([canonical(f)]).trim()); + const provider=await objectProvider(decoded.value.objects,decoded.value.configuration,{admit,emit:()=>{},topos:pin=>toposAt(pin,storeOf(root)),module:pin=>contextModuleAt(pin,storeOf(root))}); + const checked=validateObjectContext(decoded.value.objects,provider);if(checked.kind!=='fact')refuse('origin context '+checked.why); +} +async function readBundle(root:string,bundle:IngressBundle,earlier:readonly string[]=[]){ + const lines=bundle.evidence.split('\n').filter(Boolean),info=headerInfo(lines),p=policy(root); + const receipts=bundle.receipt.split('\n').filter(Boolean),authority=authorityFor(lockLines(p.store),rootSigner(root),signaturesOf(p.store).admitted); + if(receipts.length!==1||fieldOf(receipts[0]!,'scope')!=='receipts'||fieldOf(receipts[0]!,'role')!=='writes'||fieldOf(receipts[0]!,'form')!=='alphabet'||fieldOf(receipts[0]!,'measure')!=='digest'||fieldOf(receipts[0]!,'at')!=='receipt:'+info.pin||authority.of(receipts[0]!).kind!=='admitted')refuse('retained import receipt is not authenticated'); + const selected=context(root,info.pin); + const got=readForeignWalk(lines,{origin:selected.origin,regionOrigin:selected.origin,context:info.pin,base:info.base,fields:selected.contract.fields,partition:selected.contract.partition,digest:p.digest,previousPrefixes:[],authenticatePrefix:selected.authority.authenticate,authenticateEvidence:selected.authority.authenticate,validateOriginHistory:()=>true}); + if(fieldOf(receipts[0]!,'value')!==got.identity)refuse('retained import receipt does not authenticate this ingress'); + await validateHistory(root,selected,[...new Set([...earlier,...got.records])]); + return {...got,context:info.pin,regions:walkSnapshot(got.records,selected.contract.fields,p.digest,got.origin,selected.contract.partition).regions}; +} +async function verifiedIngress(root:string){ + const result:Awaited>[]=[],history=new Map>(); + const bundles=[...ingressBundles(storeOf(root))].sort((a,b)=>epochOf(a.receipt.split('\n'))-epochOf(b.receipt.split('\n'))); + for(const bundle of bundles){const info=headerInfo(bundle.evidence.split('\n').filter(Boolean)),origin=context(root,info.pin).origin;if(result.some(prior=>prior.origin===origin&&prior.context!==info.pin))refuse('origin context changed without declared lineage');const prior=history.get(origin)??new Set();const got=await readBundle(root,bundle,[...prior]);for(const line of got.records)prior.add(line);history.set(origin,prior);result.push(got)} + return result; +} +async function inventory(root:string){ + const p=policy(root),regions=new Map(local(root).regions.map(region=>[region.scope,region])); + for(const got of (await verifiedIngress(root)).sort((a,b)=>a.senderEpoch-b.senderEpoch))for(const region of got.regions)regions.set(region.scope,region); + return walkInventory([[...regions.values()]],p.digest,context(root,one(p.standing,'walk/context','digest'),true).contract.partition); +} +/** Verified foreign histories stay separate from the local authority and local epoch inputs. */ +export async function foreignWalkLines(root:string):Promise{ + const verified=await verifiedIngress(root); + return [...new Set(verified.flatMap(got=>got.records))]; +} +/** A declared origin exports its own signed history. Foreign packets are retained with their contexts, never re-signed as local history. */ +export async function renderWalk(root:string,resolution:number|undefined,peer:readonly string[],key?:string,keyFile?:string,signer?:string):Promise{ + const p=policy(root),pin=one(p.standing,'walk/context','digest'),selected=context(root,pin,true),own=local(root); + const known=peer.length?(()=>{const info=headerInfo(peer),remote=context(root,info.pin);return readWalkHeaders(peer,info.pin,info.base,remote.authority.authenticate)})():walkSnapshot([],p.contract.fields,p.digest); + const projection=walkProjection(selected.contract.projections,resolution); + const ownInventory=projection==='history'?own:await inventory(root); + const selectedPacket=walkAt(ownInventory,known,resolution,selected.contract.projections),by=key??ownerOf(p.store),publicKey=publicKeyOf(root,by); + if(!publicKey)refuse('unknown local signer '+by); + const drafted=walkHeaders(selectedPacket,pin,known.root,projection!=='inventory'),epoch=epochOf(localActLines(root)); + const got=await signConsentLot(drafted,{by,epoch,algorithm:signaturesOf(p.store).era},publicKey!,signaturesOf(p.store).admitted,signerFor(p.standing,by,signer,keyFile)); + if(got.kind!=='fact')return refuse(got.why); + if(!selected.authority.authenticate(got.lines)||!selected.authority.authenticate(selectedPacket.records))refuse('local context does not authenticate exported history'); + return [...got.lines,...selectedPacket.records,`EXCHANGE ${selectedPacket.touched} touched regions · ${selectedPacket.open} open regions · ${Buffer.byteLength(selectedPacket.records.join('\n')+(selectedPacket.records.length?'\n':''))} payload bytes`]; +} +/** The SDK proves the foreign prefix; the host admits the pair at one publication point. */ +export async function landWalk(root:string,lines:readonly string[],key?:string,keyFile?:string,signer?:string):Promise{ + const p=policy(root),info=headerInfo(lines),selected=context(root,info.pin); + const retained=await verifiedIngress(root); + if(retained.some(prior=>prior.origin===selected.origin&&prior.context!==info.pin))refuse('origin context changed without declared lineage'); + const previous=(verified:typeof retained)=>{const prefixes=new Map();for(const prior of verified.filter(got=>got.origin===selected.origin).sort((a,b)=>a.senderEpoch-b.senderEpoch))for(const region of prior.regions)prefixes.set(region.scope,{...region,senderEpoch:prior.senderEpoch});return [...prefixes.values()]}; + const payload=lines.filter(line=>!isWalkHeader(line)); + const proof=(prefixes:ReturnType)=>readForeignWalk(lines,{origin:selected.origin,regionOrigin:selected.origin,context:info.pin,base:info.base,fields:selected.contract.fields,partition:selected.contract.partition,digest:p.digest,previousPrefixes:prefixes,authenticatePrefix:selected.authority.authenticate,authenticateEvidence:selected.authority.authenticate,validateOriginHistory:()=>true}); + const raw=proof([]),known=retained.find(prior=>prior.identity===raw.identity),got=known?raw:proof(previous(retained)); + const history=(prior:typeof retained)=>[...new Set([...prior.filter(item=>item.origin===selected.origin).flatMap(item=>item.records),...payload])]; + await validateHistory(root,selected,history(retained)); + if(!known&&info.base!==(await inventory(root)).root)refuse('stale receiver base'); + if(!payload.length&&!readWalkHeaders(lines,info.pin,info.base,selected.authority.authenticate).regions.length)return ['ONCE 0 new evidence lines · 0 import receipts · no regions offered',`EXCHANGE 0 payload bytes · ${Buffer.byteLength(lines.join('\n')+'\n')} protocol bytes · 0 new evidence bytes · 0 new receipt bytes`]; + const by=key??ownerOf(p.store),pub=publicKeyOf(root,by);if(!pub)refuse('unknown receiver signer '+by); + const result=await commitIngress(p.store,got.identity,async()=>{ + if(info.base!==(await inventory(root)).root)refuse('receiver changed before ingress'); + const current=await verifiedIngress(root); + proof(previous(current)); + await validateHistory(root,selected,history(current)); + const next=epochOf(localActLines(root))+1; + const signed=await signConsentLot([got.importReceiptProposal],{by,epoch:next,algorithm:signaturesOf(p.store).era},pub!,signaturesOf(p.store).admitted,signerFor(p.standing,by,signer,keyFile)); + if(signed.kind!=='fact')return refuse(signed.why); + const authority=authorityFor(lockLines(p.store),rootSigner(root),signaturesOf(p.store).admitted); + if(authority.of(signed.lines[0]!).kind!=='admitted')refuse('receiver signer does not cover the import receipt'); + const grammar=fromLine(signed.lines[0]!,wireAt(p.standing.map(fields),next));if(grammar.kind!=='fact')refuse('receiver receipt wire '+grammar.why); + return {evidence:lines.join('\n')+'\n',receipt:signed.lines.join('\n')+'\n'}; + },bundle=>{ + try{ + const retainedLines=bundle.evidence.split('\n').filter(Boolean),retainedInfo=headerInfo(retainedLines); + if(retainedInfo.pin!==info.pin)return false; + const retainedProof=readForeignWalk(retainedLines,{origin:selected.origin,regionOrigin:selected.origin,context:info.pin,base:retainedInfo.base,fields:selected.contract.fields,partition:selected.contract.partition,digest:p.digest,previousPrefixes:[],authenticatePrefix:selected.authority.authenticate,authenticateEvidence:selected.authority.authenticate,validateOriginHistory:()=>true}); + const receipts=bundle.receipt.split('\n').filter(Boolean),receipt=receipts[0]??''; + return receipts.length===1&&retainedProof.identity===got.identity&&fieldOf(receipt,'scope')==='receipts'&&fieldOf(receipt,'value')===got.identity&&fieldOf(receipt,'at')==='receipt:'+info.pin&&authorityFor(lockLines(p.store),rootSigner(root),signaturesOf(p.store).admitted).of(receipt).kind==='admitted'; + }catch{return false} + }); + return [`${result.kind==='once'?'ONCE':'INGRESS'} ${result.kind==='once'?0:got.records.length} new evidence lines · 1 ${result.kind==='once'?'retained':'signed local'} import receipt`,result.receipt.trim(),ingressCost(result,Buffer.byteLength(payload.join('\n')+(payload.length?'\n':'')),Buffer.byteLength(lines.filter(isWalkHeader).join('\n')+'\n'))]; +} diff --git a/src/observe/regions.ts b/src/observe/regions.ts index aa0e8da..9008d1d 100644 --- a/src/observe/regions.ts +++ b/src/observe/regions.ts @@ -7,13 +7,11 @@ import { CAPSULE, LOCK, canonical, matches, PROTOCOL } from '@lapxo/topos/wire'; import { handed, readsOf } from '@lapxo/topos/capsule'; import type { Declaration } from '@lapxo/topos/capsule'; import type { Request } from '@lapxo/topos/contract'; -import { STATES } from '@lapxo/obligations'; import { foldCeilings } from '../fold/ceilings.ts'; import { fieldOf, wireLinesOf as linesOf } from '../fold/claims.ts'; import { isCeiling } from '../fold/configures.ts'; import { keyFor } from '../fold/keys.ts'; import { casesHeld, placedReadings } from '../fold/observed.ts'; -import { verdictsFor } from '../fold/paid.ts'; import { capsuleAt as isWorld, placesIn, spoken } from '../fold/places.ts'; import { rolesOf } from '../fold/roles.ts'; import { ownLockOf } from '../fold/signed.ts'; @@ -86,9 +84,8 @@ function askedOf(fold: PlaceFold): readonly string[] { .map((name) => ((n) => fact(`asked/${name}`, `${n}..${n}`, 'interval', 'count'))(pinnersOf(fold).map(at).filter((names) => names.has(name)).length)) : []; } -/** The place's verdict line as counts: what the fold lands, forks and refuses, each of the object's four states, and the ceilings it meets. */ +/** File-fold readings and their ceilings; this path computes no object encounters. */ function verdictOf(fold: PlaceFold): readonly string[] { - const states = Object.values(verdictsFor(fold)); const named = (line: string): readonly [string, string] => ((cut) => [line.slice(0, cut < 0 ? line.length : cut).trim(), line.slice(cut < 0 ? line.length : cut + 3).trim() || line] as const)(line.indexOf(' · ')); const here = (fold.under ?? '').replace(/\/$/, ''); const others = new Set(here ? placesIn(fold.root).filter((place) => place !== here) : []); @@ -99,7 +96,8 @@ function verdictOf(fold: PlaceFold): readonly string[] { return !others.has(head); }; return ([['claims', fold.claims], ['forks', fold.forks.length + (fold.second.verdict === 'forks' ? 1 : 0)], ['refused', fold.refused.length], ['vacuous', fold.vacuous], ['history', fold.history.length], - ['met', fold.ceilings.read], ['short', fold.ceilings.short.length], ['over', fold.ceilings.over.length], ...STATES.map((one) => [one, states.filter((state) => state === one).length])] as const).map(([name, n]) => fact(`verdict/${name}`, `${n}..${n}`, 'interval', 'count')) + ['met', fold.ceilings.read], ['short', fold.ceilings.short.length], ['over', fold.ceilings.over.length]] as const).map(([name, n]) => fact(`verdict/${name}`, `${n}..${n}`, 'interval', 'count')) + .concat([fact('verdict/computation', 'readings'), fact('verdict/encounters', 'uncomputed')]) .concat(fold.ceilings.short.filter((one) => mine(named(one)[0])).map((one) => (([scope, reading]) => fact(`unpaid/${scope}`, reading))(named(one)))) .concat(fold.ceilings.over.filter((one) => mine(named(one)[0])).map((one) => (([scope, reading]) => fact(`outside/${scope}`, reading))(named(one)))) .concat(fold.ceilings.unread.filter(mine).map((scope) => fact(`unpaid/${scope}`, 'unread'))) diff --git a/src/render/field.ts b/src/render/field.ts index 39e22a3..4a95389 100644 --- a/src/render/field.ts +++ b/src/render/field.ts @@ -5,18 +5,12 @@ import { placedAt } from '../fold/reach.ts'; import { polesOf, rankOf, unpackRegions } from '../fold/region.ts'; import { INTERVALS } from '@lapxo/topos/forms'; -type State = 'CONFLICT' | 'FORBIDDEN' | 'REQUIRED' | 'FREE'; -const WORST: readonly State[] = ['CONFLICT', 'FORBIDDEN', 'REQUIRED', 'FREE']; +type Status = 'disagreement' | 'outside' | 'unanswered' | 'met'; +const WORST: readonly Status[] = ['disagreement', 'outside', 'unanswered', 'met']; const empty = (ceiling: { readonly lo: number; readonly hi: number } | readonly string[] | undefined): boolean => ceiling !== undefined && 'lo' in ceiling && !INTERVALS.inhabited(ceiling); -/** - * The field of a place at resolution N: every bound placed at the place or at none, in the state its poles give, and - * every coordinate cut to its first N steps in the worst state it holds. Interval poles with no value in common - * conflict, as two signers on one key do; an alphabet that permits none is a ceiling like any other. A value read - * outside the poles is forbidden; a bound nothing read, a reader that refused and a demand unpaid are required; the - * rest is free. It is read off the region summaries and the landed readings, and no reader runs. - */ +/** Host file-region readings, grouped by coordinate prefix. These statuses do not compute object encounters. */ export function field(fold: PlaceFold, at: number): readonly string[] { if (fold.regions === undefined) return ['GREY field · this fold carries no region summaries; it is read again at the next fold']; const regions = unpackRegions(fold.regions); @@ -25,16 +19,16 @@ export function field(fold: PlaceFold, at: number): readonly string[] { const here = (line: string): boolean => place === undefined || [place, undefined].includes(placedAt(places, line)); const own = { ...fold.own, unread: fold.ceilings.unread.length + fold.ceilings.vacuous.length }; const poles = new Map>(); - const states: (readonly [string, State])[] = [ + const states: (readonly [string, Status])[] = [ ...regions.bounds.filter((bound) => here(bound.line)).map((bound) => { const ceiling = (poles.get(bound.region) ?? poles.set(bound.region, polesOf(regions, bound.region)).get(bound.region)!).get(`${bound.question} ${bound.measure}`)?.ceiling; const got = rankOf(regions, bound, own); - return [fieldOf(bound.line, 'scope'), empty(ceiling) ? 'CONFLICT' : got.bars || got.sums ? 'FORBIDDEN' : got.met ? 'FREE' : 'REQUIRED'] as const; + return [fieldOf(bound.line, 'scope'), empty(ceiling) ? 'disagreement' : got.bars || got.sums ? 'outside' : got.met ? 'met' : 'unanswered'] as const; }), - ...fold.missing.filter(here).map((line) => [fieldOf(line, 'scope'), 'REQUIRED'] as const), - ...fold.forks.flatMap((fork) => fork.lines.slice(0, 1)).filter(here).map((line) => [fieldOf(line, 'scope'), 'CONFLICT'] as const), + ...fold.missing.filter(here).map((line) => [fieldOf(line, 'scope'), 'unanswered'] as const), + ...fold.forks.flatMap((fork) => fork.lines.slice(0, 1)).filter(here).map((line) => [fieldOf(line, 'scope'), 'disagreement'] as const), ]; - const cells = new Map(); + const cells = new Map(); for (const [scope, state] of states) { const cell = scope.split('/').slice(0, Math.max(1, at)).join('/'); const held = cells.get(cell); @@ -43,7 +37,7 @@ export function field(fold: PlaceFold, at: number): readonly string[] { const ordered = [...cells].sort((a, b) => WORST.indexOf(a[1].state) - WORST.indexOf(b[1].state) || a[0].localeCompare(b[0])); return [ '## field', '', '```', - `FIELD @${at} · ${cells.size} cells · ${states.length} bounds · ${WORST.map((state) => `${state} ${ordered.filter(([, one]) => one.state === state).length}`).join(' · ')}`, + `FIELD @${at} · ${cells.size} groups · ${states.length} bounds · readings · no encounters computed · ${WORST.map((state) => `${state} ${ordered.filter(([, one]) => one.state === state).length}`).join(' · ')}`, ...ordered.map(([cell, one]) => `FIELD ${cell} · ${one.state} · ${one.bounds} bounds`), '```', ]; diff --git a/src/render/names.ts b/src/render/names.ts index c607b84..436d1ef 100644 --- a/src/render/names.ts +++ b/src/render/names.ts @@ -1,6 +1,6 @@ /** The regions bound renders itself, by name: a view that asks any other is answered by a capsule that declares it, or refused whole. */ export const REGION_NAMES = [ - 'receipts', 'help', 'lines', 'red', 'forks', 'programs', 'why', 'sign', 'take', 'history', 'field', + 'receipts', 'help', 'lines', 'red', 'forks', 'programs', 'why', 'sign', 'take', 'history', 'field', 'evidence', ] as const; export type RegionName = (typeof REGION_NAMES)[number]; diff --git a/src/render/view.ts b/src/render/view.ts index d7fd8bb..709e62f 100644 --- a/src/render/view.ts +++ b/src/render/view.ts @@ -8,32 +8,36 @@ import { declaredBy } from '../observe/regions.ts'; import type { RegionName } from './names.ts'; import { readersBehind } from '../fold/observed.ts'; import { LOCK, canonical, matches } from '@lapxo/topos/wire'; -import { STATES } from '@lapxo/obligations'; import type { PlaceFold } from '../cli/place.ts'; import type { View } from '../fold/views.ts'; import { fieldOf, foldClaims, selfName } from '../fold/claims.ts'; import { keepRender, keptRender } from '../fold/kept.ts'; -import { bytesDigest } from '../fold/digests.ts'; -import { writerFor } from '../fold/signers.ts'; +import { bytesDigest, signaturesOf } from '../fold/digests.ts'; +import { authorityFor, rootSigner, writerFor } from '../fold/signers.ts'; import { lockLines } from '../fold/keys.ts'; +import { appliedIn } from '../fold/signed.ts'; +import { ledgerLines } from '../land/ledger.ts'; import { horizonOf, moved, shapeLines } from './shape.ts'; import { rankLines } from '../fold/rank.ts'; import { differing, regionsOf } from '../fold/region.ts'; -import { verdictsFor } from '../fold/paid.ts'; import { field } from './field.ts'; import { helpLines } from '../cli/names.ts'; type Region = (fold: PlaceFold) => readonly string[]; +/** Authenticated delivery history is evidence, not the place's normative standing. */ +const evidence: Region = (fold) => { + const authority = authorityFor(lockLines(fold.store), rootSigner(fold.root), signaturesOf(fold.store).admitted); + const place = (fold.under ?? '').replace(/\/$/, ''); + const deliveries = place ? appliedIn(fold.root, place) + : [...new Set(authority.admitted.flatMap(key => ledgerLines(fold.store, key.id)))]; + return deliveries + .filter(line => authority.of(line).kind === 'admitted'); +}; + const block = (name: string, lines: readonly string[]): readonly string[] => (lines.length ? [`## ${name}`, '', '```', ...lines, '```'] : []); const seconds = (ms: number): string => `${(ms / 1000).toFixed(1)} s`; -const statesOf = (fold: PlaceFold): readonly string[] => { - const held = new Map(); - for (const one of Object.values(verdictsFor(fold))) held.set(one, (held.get(one) ?? 0) + 1); - return STATES.flatMap((one) => (held.get(one) ? [`${one} ${held.get(one)}`] : [])); -}; - const programs: Region = (fold) => { const median = fold.costs.length ? [...fold.costs].sort((a, b) => a - b)[Math.floor(fold.costs.length / 2)] ?? 0 : 0; const turned = moved(fold); @@ -41,12 +45,13 @@ const programs: Region = (fold) => { const refusedByReader = fold.observed.filter((line) => fieldOf(line, 'scope') === 'refuse/reader').length; const c = fold.ceilings; return block('programs', [ - `PROGRAMS${fold.under ? ` ${fold.under}` : ''} ${[`${fold.claims} claims`, ...statesOf(fold), `${fold.history.length} history`].join(' · ')}` + `PROGRAMS${fold.under ? ` ${fold.under}` : ''} ${[`${fold.claims} claims`, `${fold.history.length} history`].join(' · ')}` + ` · ${fold.forks.length + (fold.second.verdict === 'forks' ? 1 : 0)} forks · ${fold.grey.length} grey · ${fold.refused.length} refused · ${fold.vacuous} vacuous` + ` · ${secondName()} ${fold.second.verdict}${fold.second.verdict === 'agrees' && !fold.second.external ? ', never disagreed' : ''}` + ` · store ${fold.observed.length} observed${refusedByReader ? ` · ${refusedByReader} refuse·reader` : ''}` + (fold.under ? ` · ceilings ${c.read} met here · ${c.short.length} short · ${c.over.length} over` : ` · ceilings ${c.read}/${c.total} read · ${c.short.length} short · ${c.over.length} over · ${c.unread.length} unread${c.vacuous.length ? ` · ${c.vacuous.length} vacuous unread` : ''}`) + + ' · readings · no encounters computed' + ` · ${fold.effects} · take ${fold.costs.length ? seconds(fold.costs[fold.costs.length - 1] ?? 0) : 'none'} last` + (fold.costs.length > 1 ? ` · ${seconds(median)} median of ${fold.costs.length}` : '') , @@ -149,6 +154,7 @@ const REGIONS: Readonly> = { receipts: (fold) => receiptRegion(fold, 1), help: () => helpLines(), lines: (fold) => fold.standing, + evidence, red, forks, programs, why, sign, take, history, field: (fold) => field(fold, 3), } satisfies Record; diff --git a/test/act-cost.test.ts b/test/act-cost.test.ts new file mode 100644 index 0000000..9ca46c9 --- /dev/null +++ b/test/act-cost.test.ts @@ -0,0 +1,21 @@ +import {test} from 'node:test'; +import assert from 'node:assert/strict'; +import {ActCosts} from '../src/host/act-cost.ts'; + +test('separate declared readings do not turn their sum into an indivisible act',()=>{ + let now=0;const cost=new ActCosts(()=>now); + cost.measure(()=>{now+=35000;});cost.measure(()=>{now+=38000;}); + assert.equal(now,73000);assert.equal(cost.seconds(),38); +}); +test('one slow reading, failed readings and unpartitioned host work keep their cost',()=>{ + let now=0;const cost=new ActCosts(()=>now);assert.throws(()=>cost.measure(()=>{now+=73000;throw Error('refused');}),/refused/);assert.equal(cost.seconds(),73); + now+=75000;assert.equal(cost.seconds(),75); +}); +test('nested host execution is charged once without hiding the enclosing reading',()=>{ + let now=0;const cost=new ActCosts(()=>now); + cost.measure(()=>{now+=10000;cost.measure(()=>{now+=20000;});now+=5000;}); + assert.equal(cost.seconds(),35);now+=9000;assert.equal(cost.seconds(),35); +}); +test('an unfinished indivisible act remains measurable',()=>{ + let now=0;const cost=new ActCosts(()=>now),end=cost.begin();now=73000;assert.equal(cost.seconds(),73);end();assert.equal(cost.seconds(),73);assert.throws(end,/closed twice/); +}); diff --git a/test/admission-boundary.test.ts b/test/admission-boundary.test.ts index 9cb5409..435667c 100644 --- a/test/admission-boundary.test.ts +++ b/test/admission-boundary.test.ts @@ -18,6 +18,8 @@ test('a prospective lot uses the consumer authority, preserves bytes, and cannot const seed=[['keys/device','class','authorize'],['keys/device','coverage','*'],['keys/device','public-key',pub],['keys/device','signer','file'],['keys/reader','class','read'],['keys/folder','class','fold'],['signer/timeout','milliseconds','5000..5000','interval'],['signer/response-bytes','bytes','65536..65536','interval'],['wire/digest-algorithms','id','sha256'],['wire/signature-algorithms','id','ed25519:sample'],['wire/era','id','sample'],['wire/families','id','keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|sample'],['wire/fields','id','scope|role|form|measure|value|by|at|needs|sig|epoch|shape|restsOn|condition|about|kind|view'],['wire/required','id','scope|role|form|measure|value|by|at'],['wire/forms','id','alphabet|interval'],['wire/roles','id','reads|writes|demands'],['wire/at-classes','id','origin|place|receipt|witness|policy']].map(v=>row(...v)); for(const [name,shape] of [['summary',''],['page','summary.md']]) seed.push(canonical({scope:`view/${name}`,role:'demands',form:'alphabet',measure:'id',value:'field@3',shape,at:'policy:sample',by:'target'})); seed.push(canonical({scope:'sample/limit',form:'interval',role:'reads',measure:'count',value:'0..5',at:'policy:sample',by:'target'})); + // This negative attempts to discharge an existing obligation, not declare a new one. + seed.push(canonical({scope:'sample/required',form:'alphabet',role:'demands',measure:'id',value:'present',needs:'missing.txt',at:'policy:sample',by:'target'})); const run=(cwd,args)=>spawnSync(process.execPath,[reader,...args],{cwd,encoding:'utf8',timeout:20000}); const digest=root=>{const all=[];const visit=(dir,base='')=>{for(const n of readdirSync(dir).sort()){const at=join(dir,n),rel=join(base,n);if(statSync(at).isDirectory())visit(at,rel);else all.push([rel,createHash('sha256').update(readFileSync(at)).digest('hex')]);}};visit(root);return all;}; const stamp=(line)=>{const got=parse(line);assert.equal(got.kind,'fact');const fields={...got.value.fields,by:'device',epoch:'2'};return canonical({...fields,sig:formatSignature('ed25519:sample',sign(null,Buffer.from(signedBytes(fields)),pair.privateKey).toString('base64'))});}; @@ -38,7 +40,7 @@ test('a prospective lot uses the consumer authority, preserves bytes, and cannot for(const root of roots){const before=digest(root);for(const args of[['fold',root,'--as','lines',invalid],['land',invalid]]){const p=run(root,args);assert.equal(p.status,1,p.stderr);assert.match(p.stderr,/REFUSE·widening/);assert.deepEqual(digest(root),before);}} for(const fields of [ {scope:'write/src/removed.txt',form:'alphabet',role:'writes',measure:'digest',value:'withdraw',at:'policy:sample',by:'target'}, - {scope:'sample/required',form:'alphabet',role:'demands',measure:'id',value:'present',needs:'missing.txt',at:'policy:sample',by:'target'}, + {scope:'sample/required',form:'alphabet',role:'demands',measure:'id',value:'present',needs:'missing-revision.txt',at:'policy:sample',by:'target'}, ]) { writeFileSync(invalid,stamp(canonical(fields))+'\n'); for(const root of roots){const before=digest(root);for(const args of [['fold',root,'--as','lines',invalid],['land',invalid]]){const p=run(root,args);assert.equal(p.status,1,p.stderr);assert.match(p.stderr,/REFUSE·(?:withdraw|takes)/);assert.deepEqual(digest(root),before,'evidence-based admission refuses identically without acquiring readings');}} diff --git a/test/archive.test.ts b/test/archive.test.ts index 751a9b3..c11a370 100644 --- a/test/archive.test.ts +++ b/test/archive.test.ts @@ -1,3 +1,4 @@ +import {spawn} from 'node:child_process'; import { strict as assert } from 'node:assert'; import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, readdirSync, rmSync, symlinkSync, existsSync } from 'node:fs'; import { tmpdir } from 'node:os'; @@ -194,3 +195,22 @@ test('reading authentic capsule declarations needs no runtime; asking a missing assert.throws(()=>capsuleAt(digest,'../escape.js',root),/REFUSE·capsule .* unavailable/); } finally {rmSync(root,{recursive:true,force:true});} }); + + +test('two processes publish the same verified runtime tree without replacing its winner', async () => { + const root=mkdtempSync(join(tmpdir(),'runtime-publication-')),store=join(root,'store'),barrier=join(root,'barrier'); + try { + mkdirSync(barrier);const bytes=tar(record('dist/member.js','export const value=7;')),digest=sha(bytes);save(store,digest,bytes); + const destination=join(store,'cas/runtime/sha256',digest.slice('sha256:'.length)),helper=join(root,'reader.mjs'); + writeFileSync(helper,`import fs from 'node:fs';import {syncBuiltinESMExports} from 'node:module'; + const [store,digest,destination,barrier]=process.argv.slice(2),rename=fs.renameSync; + fs.renameSync=(from,to)=>{if(to===destination){fs.writeFileSync(barrier+'/'+process.pid,'ready');const deadline=Date.now()+5000;while(fs.readdirSync(barrier).length<2){if(Date.now()>deadline)throw Error('test publication barrier timed out');Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,5);}}return rename(from,to);};syncBuiltinESMExports(); + const {runtimeTreeAt}=await import(${JSON.stringify(new URL('../src/host/release.ts',import.meta.url).href)}); + const at=runtimeTreeAt(store,store,digest,store);console.log(fs.readFileSync(at+'/dist/member.js','utf8')); + `); + const run=()=>new Promise<{status:number|null;out:string;err:string}>((resolve,reject)=>{const child=spawn(process.execPath,[helper,store,digest,destination,barrier],{stdio:['ignore','pipe','pipe']});let out='',err='';child.stdout.on('data',b=>out+=b);child.stderr.on('data',b=>err+=b);child.once('error',reject);child.once('close',status=>resolve({status,out,err}));}); + for(const got of await Promise.all([run(),run()])){assert.equal(got.status,0,got.err);assert.equal(got.out.trim(),'export const value=7;');} + assert.equal(readFileSync(join(destination,'.laid'),'utf8'),digest);assert.equal(readFileSync(join(destination,'dist/member.js'),'utf8'),'export const value=7;'); + assert.deepEqual(readdirSync(join(store,'cas/runtime/sha256')),[digest.slice('sha256:'.length)]); + }finally{rmSync(root,{recursive:true,force:true});} +}); diff --git a/test/capsule-entry.test.ts b/test/capsule-entry.test.ts index 544bf06..11474ab 100644 --- a/test/capsule-entry.test.ts +++ b/test/capsule-entry.test.ts @@ -1,6 +1,6 @@ import { test } from 'node:test'; import { strict as assert } from 'node:assert'; -import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs'; +import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, rmSync } from 'node:fs'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { gzipSync } from 'node:zlib'; @@ -38,3 +38,14 @@ test('a declared capsule entry runs exactly that member and cannot reuse another assert.deepEqual(chosen.ask([request]),[{protocol:'bound-lock/1',kind:'fact',lines:['chosen']}]); } finally {process.argv[1]=prior;rmSync(store,{recursive:true,force:true});} }); + + +test('render requests retain independent receipts by digest, across another view',()=>{ + const store=mkdtempSync(join(tmpdir(),'capsule-render-reuse-')),prior=process.argv[1];process.argv[1]=new URL('../src/cli/verb.ts',import.meta.url).pathname; + try{ + const calls=join(store,'calls'),module="import{appendFileSync}from'node:fs';export const render=asked=>{appendFileSync("+JSON.stringify(calls)+",'1');return [asked.shape];};"; + const bytes=tar(record('capsule.bound',canonical({scope:'region/prose',role:'render',form:'alphabet',measure:'reads',value:'**',by:'fixture',at:'policy:test'})+'\n'),record('entry.js',module)),digest=sha(bytes);save(store,digest,bytes);const capsule=capsuleAt(digest,'entry.js',store)!; + const ask=(shape:string)=>capsule.ask([{protocol:'bound-lock/1',verb:'render',rootScope:'fixture',region:'prose',files:[],shape}]); + const first=ask('first'),second=ask('second');assert.deepEqual(ask('first'),first);assert.deepEqual(ask('second'),second);assert.equal(readFileSync(calls,'utf8'),'11','an intervening view cannot evict a closed render'); + }finally{process.argv[1]=prior;rmSync(store,{recursive:true,force:true});} +}); diff --git a/test/capsule-failure.test.ts b/test/capsule-failure.test.ts index d26be33..8e0dab5 100644 --- a/test/capsule-failure.test.ts +++ b/test/capsule-failure.test.ts @@ -96,7 +96,7 @@ test('a failed actual capsule ask leaves its answer cache slot absent', async () const sha = (text: string | Uint8Array): string => createHash('sha256').update(text).digest('hex'); const loader = sha(readFileSync(processOf('located', 'host'))); const request = { ...requests[0]!, rootScope: root }; - const slot = sha(`${capsule.digest}\n${loader}\n${request.verb}\n${request.rootScope}\n${request.region ?? ''}`); + const slot = sha(`${capsule.digest}\n${loader}\n${JSON.stringify(request)}`); const cache = join(cacheStore, 'cas', 'answers', slot); equal(existsSync(cache), false); throws(() => capsule.ask([request]), CapsuleProcessError); diff --git a/test/capture.test.ts b/test/capture.test.ts index b4e4a0e..70c400b 100644 --- a/test/capture.test.ts +++ b/test/capture.test.ts @@ -29,6 +29,10 @@ test('host capture retains readings without interpreting their domain', () => { const forked=capture(bytes('5..6'),'water.bound'); assert.match(agreed,/FACT\s+2 standing · 0 forks · water\.bound/); assert.match(forked,/FACT\s+2 standing · 0 forks · water\.bound/); + for (const output of [agreed, forked]) { + assert.match(output, /readings · no encounters computed/); + assert.doesNotMatch(output, /^CELL /m); + } assert.ok(!agreed.includes('meeting')); }); @@ -42,3 +46,17 @@ test('scenario tooling retains the same-signer malformed-history negative contro assert.equal(run.status,1);assert.match(run.stderr,/REFUSE·document/);assert.ok(!run.stdout.includes('CONFLICT')); } finally {rmSync(root,{recursive:true,force:true});} }); + +// A host summary cannot imply object freedom from a missing configuration reading. +test('file field labels its computation without object states', async () => { + const {field}=await import('../src/render/field.ts'); + const root=mkdtempSync(join(tmpdir(),'bound-field-output-')); + try { + const missing=canonical({scope:'requirement/input',role:'demands',form:'alphabet',measure:'status',value:'present',by:'target',at:'policy:sample'}); + const output=field({root,regions:{named:[],bounds:[],summaries:[]},own:{},ceilings:{unread:[],vacuous:[]},missing:[missing],forks:[]} as unknown as import('../src/cli/place.ts').PlaceFold,3).join('\n'); + assert.match(output,/readings · no encounters computed/); + assert.match(output,/requirement\/input · unanswered/); + assert.doesNotMatch(output,/\b(?:REQUIRED|FREE|CONFLICT|FORBIDDEN)\b/); + assert.doesNotMatch(output,/\d+ cells/); + } finally {rmSync(root,{recursive:true,force:true});} +}); diff --git a/test/demand-declaration.test.ts b/test/demand-declaration.test.ts new file mode 100644 index 0000000..bcfdadf --- /dev/null +++ b/test/demand-declaration.test.ts @@ -0,0 +1,25 @@ +import {test} from 'node:test'; +import assert from 'node:assert/strict'; +import {generateKeyPairSync} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,rmSync,existsSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join} from 'node:path'; +import {spawnSync} from 'node:child_process'; +import {canonical} from '@lapxo/topos/wire'; + +for(const name of ['sowing','calibration'])test(`an admitted new ${name} demand remains owed without invented sources or payment`,()=>{ + const temp=mkdtempSync(join(tmpdir(),'bound-new-demand-')),root=join(temp,'place');mkdirSync(root); + const pair=generateKeyPairSync('ed25519'),key=join(temp,'device.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const row=(scope:string,measure:string,value:string,extra:Record={})=>canonical({scope,measure,value,role:'writes',form:'alphabet',at:'policy:sample',by:'target',...extra}); + const run=(args:string[])=>spawnSync(process.execPath,[new URL('../dist/cli/verb.js',import.meta.url).pathname,...args],{cwd:root,encoding:'utf8',timeout:20000}); + try{ + const seed=[row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/reader','class','read'),row('keys/folder','class','fold'),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'}),row('wire/digest-algorithms','id','sha256'),row('wire/signature-algorithms','id','ed25519:sample'),row('wire/era','id','sample'),row('wire/families','id','keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|requirement|view'),row('wire/fields','id','scope|role|form|measure|value|by|at|epoch|sig|needs|about'),row('wire/required','id','scope|role|form|measure|value|by|at'),row('wire/forms','id','alphabet|interval'),row('wire/roles','id','reads|writes|demands'),row('wire/at-classes','id','policy|origin|place|receipt|witness')]; + writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n');let p=run(['land','--key','device','--key-file',key]);assert.equal(p.status,0,p.stderr); + const proposal=join(temp,'requirement.txt');writeFileSync(proposal,row('requirement/'+name,'status','present',{role:'demands',needs:'missing/'+name+'.json'})+'\n'); + const before=readFileSync(join(root,'.bound/ledger/device.bound'),'utf8');p=run(['sign',proposal,'--key','device','--key-file',key]);assert.equal(p.status,0,p.stderr);assert.equal(readFileSync(join(root,'.bound/ledger/device.bound'),'utf8'),before,'sign is prospective'); + p=run(['land',proposal,'--key','device','--key-file',key]);assert.equal(p.status,0,p.stderr);assert.match(p.stdout,/OWED.*new demand declared/);assert.doesNotMatch(p.stdout,/FACT.*take requirement/);assert.ok(!existsSync(join(root,'missing'))); + const judge=join(root,'.bound/ledger/judge.bound');assert.ok(!existsSync(judge)||!readFileSync(judge,'utf8').includes('scope=requirement/'+name),'no payment receipt'); + const ledger=readFileSync(join(root,'.bound/ledger/device.bound'),'utf8');assert.match(ledger,new RegExp('scope=requirement/'+name)); + writeFileSync(proposal,row('requirement/'+name,'status','present',{role:'demands',needs:'missing/revised.json',at:'witness:revision'})+'\n');p=run(['sign',proposal,'--key','device','--key-file',key]);assert.notEqual(p.status,0,'existing demand revision still needs its witness');assert.equal(readFileSync(join(root,'.bound/ledger/device.bound'),'utf8'),ledger); + }finally{rmSync(temp,{recursive:true,force:true});} +}); diff --git a/test/device-evidence.test.ts b/test/device-evidence.test.ts index 0684832..bfda8ed 100644 --- a/test/device-evidence.test.ts +++ b/test/device-evidence.test.ts @@ -1,36 +1,6 @@ import {test} from 'node:test'; -import assert from 'node:assert/strict'; -import {generateKeyPairSync,verify} from 'node:crypto'; -import {mkdtempSync,mkdirSync,writeFileSync,rmSync} from 'node:fs'; -import {tmpdir} from 'node:os'; -import {join} from 'node:path'; -import {spawnSync} from 'node:child_process'; -import {canonical,parse,signedBytes,parseSignature} from '@lapxo/topos/wire'; +import {runEvidenceSample} from '../tools/samples/run-evidence.mjs'; -for(const keyClass of ['authorize','read','access'])test(`native lines preserve admitted ${keyClass} evidence, exact withdrawals and signature refusals`,()=>{ - const reader=process.env.BOUND_TEST_READER??new URL('../src/cli/verb.ts',import.meta.url).pathname; - const temp=mkdtempSync(join(tmpdir(),'bound-device-evidence-')),root=join(temp,'place'); - const devices=['north','south'].map(id=>({id,pair:generateKeyPairSync('ed25519'),key:join(temp,`${id}.pem`)})); - devices.push({id:'alias',pair:devices[1].pair,key:join(temp,'alias.pem')}); - const row=(scope,measure,value)=>canonical({scope,measure,value,form:'alphabet',role:'writes',at:'policy:evidence',by:'target'}); - const captures=[];const run=args=>{const started=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});captures.push({reader,args:args.map(arg=>arg.endsWith('.pem')?'[ephemeral key path]':arg),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-started});return p;}; - const rows=text=>text.split('\n').map(line=>parse(line)).filter(p=>p.kind==='fact').map(p=>p.value.fields); - try { - mkdirSync(root); - const seed=[row('wire/era','id','sample'),row('wire/signature-algorithms','id','ed25519:sample'),row('wire/digest-algorithms','id','sha256')]; - for(const [name,value] of [['fields','scope|role|form|measure|value|by|at|epoch|sig'],['required','scope|role|form|measure|value|by|at'],['forms','alphabet|interval'],['roles','reads|writes|demands'],['at-classes','policy|place|origin|witness|receipt'],['families','keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region']])seed.push(row(`wire/${name}`,'id',value)); - for(const d of devices){writeFileSync(d.key,d.pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600});seed.push(row(`keys/${d.id}`,'class',d.id==='north'?'authorize':keyClass),row(`keys/${d.id}`,'coverage',d.id==='north'?'*':`sample/${d.id}`),row(`keys/${d.id}`,'public-key',d.pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row(`keys/${d.id}`,'signer','file'),canonical({scope:`keys/${d.id}`,role:'writes',form:'interval',measure:'resolution',value:'1..16',by:'target',at:'policy:evidence'}));} - seed.push(canonical({scope:'signer/timeout',form:'interval',measure:'milliseconds',value:'5000..5000',role:'writes',at:'policy:evidence',by:'target'}),canonical({scope:'signer/response-bytes',form:'interval',measure:'bytes',value:'65536..65536',role:'writes',at:'policy:evidence',by:'target'})); - writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n'); - const boot=run(['land','--key','north','--key-file',devices[0].key]);assert.equal(boot.status,0,boot.stderr); - const signed=[]; - for(const d of devices){const lot=join(temp,`${d.id}.proposal`);writeFileSync(lot,row(`sample/${d.id}`,'observed',`evidence-${d.id}`)+'\n');const sign=run(['sign',lot,'--key',d.id,'--key-file',d.key]);assert.equal(sign.status,0,sign.stderr);const text=sign.stdout.split('\n').filter(line=>parse(line).kind==='fact').join('\n')+'\n';signed.push(text);writeFileSync(lot,text);const land=run(['land',lot]);assert.equal(land.status,0,land.stderr);const again=run(['land',lot]);assert.equal(again.status,0,again.stderr);assert.match(again.stdout,/ONCE/);} - const view=run(['fold','--as','lines']);assert.equal(view.status,0,view.stderr); - for(const d of devices){const facts=rows(view.stdout).filter(f=>f.scope===`sample/${d.id}`);assert.equal(facts.length,1);const f=facts[0],sig=parseSignature(f.sig);assert.ok(sig);assert.equal(f.by,d.id);assert.equal(verify(null,Buffer.from(signedBytes(f)),d.pair.publicKey,Buffer.from(sig.raw,'base64')),true);} - const uncovered=join(temp,'uncovered.proposal');writeFileSync(uncovered,row('sample/north','observed','uncovered')+'\n');const denied=run(['sign',uncovered,'--key','south','--key-file',devices[1].key]);assert.equal(denied.status,1);assert.match(denied.stderr,/REFUSE·signer south uncovered/); - const tampered=join(temp,'altered.bound');writeFileSync(tampered,signed[1].replace('evidence-south','altered'));const bad=run(['land',tampered]);assert.equal(bad.status,1);assert.match(bad.stderr,/REFUSE·signed/); - const f=rows(signed[0])[0],{sig,epoch,by,...selector}=f; - const withdraw=join(temp,'withdraw.proposal');writeFileSync(withdraw,canonical({...selector,value:'withdraw',by:'target'})+'\n');const taken=run(['land',withdraw,'--key','north','--key-file',devices[0].key]);assert.equal(taken.status,0,taken.stderr); - const after=run(['fold','--as','lines']);assert.equal(after.status,0,after.stderr);assert.equal(rows(after.stdout).filter(f=>f.scope==='sample/north'&&f.value!=='withdraw').length,0);assert.equal(rows(after.stdout).filter(f=>f.scope==='sample/south').length,1);assert.equal(rows(after.stdout).filter(f=>f.scope==='sample/alias').length,1);assert.deepEqual(devices[1].pair.publicKey.export({type:'spki',format:'der'}),devices[2].pair.publicKey.export({type:'spki',format:'der'})); - }finally {if(process.env.BOUND_TEST_CAPTURE)writeFileSync(process.env.BOUND_TEST_CAPTURE+'.'+keyClass+'.json',JSON.stringify(captures,null,2)+'\n');rmSync(temp,{recursive:true,force:true});} +for(const keyClass of ['authorize','read','access','attest'])test(`native views preserve admitted ${keyClass} evidence, exact withdrawals and signature refusals`,()=>{ + runEvidenceSample(process.env.BOUND_TEST_READER??new URL('../src/cli/verb.ts',import.meta.url).pathname,keyClass,{uncovered:{scope:'sample/north',value:'uncovered'},tamperedValue:'altered'},process.env.BOUND_TEST_CAPTURE?process.env.BOUND_TEST_CAPTURE+'.'+keyClass+'.json':undefined); }); diff --git a/test/ingress-clock.test.ts b/test/ingress-clock.test.ts new file mode 100644 index 0000000..a2cca06 --- /dev/null +++ b/test/ingress-clock.test.ts @@ -0,0 +1,36 @@ +import {test} from 'node:test'; +import assert from 'node:assert/strict'; +import {createHash,generateKeyPairSync,sign} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,rmSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join} from 'node:path'; +import {spawnSync} from 'node:child_process'; +import {canonical,parse,signedBytes,formatSignature} from '@lapxo/topos/wire'; +import {commitIngress} from '../src/host/ports/ingress.ts'; + +// Host ingress is prepared here; this vector tests the ordinary CLI's local clock, +// not foreign-walk admission or a fabricated native fold observation. +for(const name of ['measurement','artifact'])test(`local signing advances past import receipts, not foreign epochs: ${name}`,async()=>{ + const temp=mkdtempSync(join(tmpdir(),'bound-ingress-clock-')),root=join(temp,'place'),pair=generateKeyPairSync('ed25519'); + const key=join(temp,'device.pem'),reader=process.env.BOUND_TEST_READER??new URL('../src/cli/verb.ts',import.meta.url).pathname; + const row=(scope:string,measure:string,value:string,form='alphabet')=>canonical({scope,measure,value,form,role:'writes',at:'policy:clock',by:'target'}); + const signed=(fields:Record)=>canonical({...fields,sig:formatSignature('ed25519:sample',sign(null,Buffer.from(signedBytes(fields)),pair.privateKey).toString('base64'))}); + const run=(args:string[])=>spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000}); + try{ + mkdirSync(root);writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const seed=[['keys/device','class','authorize'],['keys/device','coverage','*'],['keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')],['keys/device','signer','file'],['keys/reader','class','read'],['signer/timeout','milliseconds','5000..5000','interval'],['signer/response-bytes','bytes','65536..65536','interval'],['wire/digest-algorithms','id','sha256'],['wire/signature-algorithms','id','ed25519:sample'],['wire/era','id','sample'],['wire/families','id','keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|sample'],['wire/fields','id','scope|role|form|measure|value|by|at|epoch|sig'],['wire/required','id','scope|role|form|measure|value|by|at'],['wire/forms','id','alphabet|interval'],['wire/roles','id','reads|writes|demands'],['wire/at-classes','id','origin|place|receipt|witness|policy']].map(v=>row(v[0],v[1],v[2],v[3])); + writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n'); + const boot=run(['land','--key','device','--key-file',key]);assert.equal(boot.status,0,boot.stderr); + const evidence=signed({scope:`sample/${name}`,role:'writes',form:'alphabet',measure:'id',value:'foreign',at:'origin:remote',by:'remote',epoch:'900'}); + const identity='sha256:'+createHash('sha256').update(evidence).digest('hex'); + const receipt=signed({scope:'receipts',role:'writes',form:'alphabet',measure:'digest',value:identity,at:'receipt:import',by:'device',epoch:'2'}); + await commitIngress(join(root,'.bound'),identity,async()=>({evidence:evidence+'\n',receipt:receipt+'\n'}),bundle=>bundle.receipt===receipt+'\n'&&bundle.evidence===evidence+'\n'); + const proposal=join(temp,'local.proposal');writeFileSync(proposal,row('sample/local','id','local')+'\n'); + const next=run(['sign',proposal,'--key','device','--key-file',key]);assert.equal(next.status,0,next.stderr); + const facts=next.stdout.split('\n').map(parse).filter(p=>p.kind==='fact');assert.equal(facts.length,1);assert.equal(facts[0].value.fields.epoch,'3'); + process.stdout.write('CLOCK foreign 900 unchanged · local import 2 · next local sign 3\n'); + // Corrupting local receipt authentication must prevent further signing. + writeFileSync(join(root,'.bound','ingress','committed-'+encodeURIComponent(identity),'receipt.bound'),receipt.replace('epoch=2','epoch=8')+'\n'); + const refused=run(['sign',proposal,'--key','device','--key-file',key]);assert.notEqual(refused.status,0);assert.match(refused.stderr,/REFUSE·ingress/); + }finally{rmSync(temp,{recursive:true,force:true})} +}); diff --git a/test/instrument-closure.test.ts b/test/instrument-closure.test.ts index ea75b66..3ad9c97 100644 --- a/test/instrument-closure.test.ts +++ b/test/instrument-closure.test.ts @@ -16,7 +16,8 @@ test('implementation identity follows compiled imports, package exports and decl writeFileSync(join(root,'node_modules','fixture-provider','package.json'),'{"type":"module","exports":"./index.js"}'); const provider=join(root,'node_modules','fixture-provider','index.js'); writeFileSync(provider,'export const value=1;\n'); - writeFileSync(join(root,'entry.js'),'import "node:fs"; export {value} from "fixture-provider"; import("./helper.js");\n'); + writeFileSync(join(root,'entry.js'),`import "node:fs"; export {value} from "fixture-provider"; import("./helper.js"); const record={scope: 'receipts/import', role: 'writes'}; // import 'missing-comment' +`); writeFileSync(join(root,'helper.js'),'export const helper=1;\n'); writeFileSync(join(root,'worker.js'),'export const worker=1;\n'); const process=canonical({scope:'process/test',kind:'process',role:'writes',form:'alphabet',measure:'id',value:'present',needs:'worker.js',by:'target',at:'policy:process'}); diff --git a/test/native-walk-refinement.test.ts b/test/native-walk-refinement.test.ts new file mode 100644 index 0000000..dffcaea --- /dev/null +++ b/test/native-walk-refinement.test.ts @@ -0,0 +1,3 @@ +import {test} from 'node:test'; +import {runWalkRefinement} from '../tools/samples/run-walk-refinement.mjs'; +for(const family of ['measurement','artifact'])test('native CLI refines declared regions: '+family,()=>runWalkRefinement(process.env.BOUND_TEST_READER??new URL('../dist/cli/verb.js',import.meta.url).pathname,process.env.BOUND_TEST_CAPTURE,family)); diff --git a/test/native-walk.test.ts b/test/native-walk.test.ts new file mode 100644 index 0000000..470fb0b --- /dev/null +++ b/test/native-walk.test.ts @@ -0,0 +1,3 @@ +import {test} from 'node:test'; +import {runWalkSample} from '../tools/samples/run-walk.mjs'; +for (const family of ['measurement','artifact']) test(`native CLI imports an authenticated regional prefix atomically: ${family}`,()=>runWalkSample(process.env.BOUND_TEST_READER??new URL('../dist/cli/verb.js',import.meta.url).pathname,process.env.BOUND_TEST_CAPTURE,family)); diff --git a/test/nonregional-claims.test.ts b/test/nonregional-claims.test.ts new file mode 100644 index 0000000..1de3038 --- /dev/null +++ b/test/nonregional-claims.test.ts @@ -0,0 +1,15 @@ +import {test} from 'node:test'; +import assert from 'node:assert/strict'; +import {canonical} from '@lapxo/topos/wire'; +import {foldClaims} from '../src/fold/claims.ts'; + +for(const scope of ['wire/fields','region/proofs'])test(`file receipts never erase nonregional declarations at ${scope}`,()=>{ + const row=(value:string,by:string)=>canonical({scope,role:'writes',form:'alphabet',measure:'id',value,by,at:'policy:declaration',epoch:'1'}); + const lines=[row('left','one'),row('right','two')]; + for(const receipts of [[],[{scope,moved:['unrelated.txt']}], [{scope,moved:[]}]]){ + const got=foldClaims(lines,receipts); + assert.deepEqual(new Set(got.standing),new Set(lines)); + assert.deepEqual(got.vacuous,[],'absence of file regions cannot be evidence of payment'); + } + const single=foldClaims([lines[0]!],[]);assert.deepEqual(single.standing,[lines[0]]); +}); diff --git a/test/pass-receipt-order.test.ts b/test/pass-receipt-order.test.ts new file mode 100644 index 0000000..941f96b --- /dev/null +++ b/test/pass-receipt-order.test.ts @@ -0,0 +1,45 @@ +import {test} from 'node:test'; +import assert from 'node:assert/strict'; +import {generateKeyPairSync} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,rmSync,cpSync,existsSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join} from 'node:path'; +import {spawnSync} from 'node:child_process'; +import {canonical,publicationOf} from '@lapxo/topos/wire'; +import {foldClaims,isWire} from '../src/fold/claims.ts'; + +for(const name of ['calibration','inventory'])test(`completed ${name} renders seal native file receipts before check; unchanged pass is idle`,()=>{ + const temp=mkdtempSync(join(tmpdir(),'bound-pass-order-')),root=join(temp,name),key=join(temp,'device.pem'); + const reader=process.env.BOUND_TEST_READER??new URL('../dist/cli/verb.js',import.meta.url).pathname; + const pair=generateKeyPairSync('ed25519'); + const row=(scope:string,measure:string,value:string,extra:Record={})=>canonical({scope,measure,value,form:'alphabet',role:'writes',by:'target',at:'policy:pass',...extra}); + const captures:unknown[]=[]; + const run=(args:string[])=>{const p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});captures.push({args,status:p.status,stdout:p.stdout,stderr:p.stderr});return p;}; + const ok=(args:string[])=>{const p=run(args);assert.equal(p.status,0,p.stderr+p.stdout);return p;}; + try{ + mkdirSync(join(root,'src'),{recursive:true});writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const seed=[row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/reader','class','read'),row('keys/folder','class','fold'),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'}),row('wire/era','id','test'),row('wire/signature-algorithms','id','ed25519:test'),row('wire/digest-algorithms','id','sha256')]; + for(const [k,v] of Object.entries({families:'keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|sample|vector|cost|source|class|pipeline|host|store',fields:'scope|role|form|measure|value|by|at|needs|sig|epoch|shape|restsOn|condition|about|kind|view',required:'scope|role|form|measure|value|by|at',forms:'alphabet|interval',roles:'reads|writes|demands','at-classes':'origin|place|receipt|witness|policy',shapes:'run|input.txt|receipts.bound|src/'+name+'.txt','receipt-fields':'scope|role|form|measure|value|by|at'}))seed.push(row('wire/'+k,'id',v)); + seed.push(row('reader/extent','reader','extent.mjs',{shape:'input.txt',needs:'src/'}),row('view/a-receipts','id','receipts@8|receipts@0|receipts@1',{role:'demands',shape:'receipts.bound',needs:'receipts.bound'}),row('view/z-readout','id','lines@8',{role:'demands',shape:'src/'+name+'.txt',needs:'src/'+name+'.txt'})); + writeFileSync(join(root,'src/input.txt'),name+'\n');writeFileSync(join(root,'extent.mjs'),"export const observe=bytes=>[{name:'sample/extent',bound:{form:'interval',lo:bytes.length,hi:bytes.length}}];");writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n'); + ok(['land','--key','device','--key-file',key]); + writeFileSync(join(root,'src',name+'.txt'),'previous rendered edition\n'); + ok(['fold','--as','a-receipts']); + const first=ok(['fold']);assert.match(first.stdout,/RENDERED .*\.txt/);assert.match(first.stdout,/PASS\s+closed/); + ok(['fold','--check']);const receipt=readFileSync(join(root,'receipts.bound'),'utf8'),output=readFileSync(join(root,'src',name+'.txt'),'utf8'); + const idle=ok(['fold']);assert.match(idle.stderr,/RECEIPTS \d+ read · 0 opened/);assert.match(idle.stdout,/PASS\s+closed/);assert.doesNotMatch(idle.stderr,/OWN\s|CAPSULE .* run|READER\s|OBSERVE\s/,'idle must not reopen providers or readers');assert.equal(readFileSync(join(root,'receipts.bound'),'utf8'),receipt);assert.equal(readFileSync(join(root,'src',name+'.txt'),'utf8'),output); + const publicRoot=join(temp,name+'-public');mkdirSync(publicRoot); + cpSync(join(root,'src'),join(publicRoot,'src'),{recursive:true});cpSync(join(root,'extent.mjs'),join(publicRoot,'extent.mjs')); + const published=publicationOf(foldClaims(readFileSync(join(root,'TARGET.bound'),'utf8').split('\n').filter(isWire)).standing); + writeFileSync(join(publicRoot,'TARGET.bound'),published.join('\n')+'\n');writeFileSync(join(publicRoot,'receipts.bound'),receipt); + const publicCheck=spawnSync(process.execPath,[reader,'fold','--check'],{cwd:publicRoot,encoding:'utf8',timeout:20000}); + captures.push({args:['public-checkout','fold','--check'],status:publicCheck.status,stdout:publicCheck.stdout,stderr:publicCheck.stderr}); + assert.equal(publicCheck.status,0,publicCheck.stderr+publicCheck.stdout);assert.match(publicCheck.stdout,/PASS\s+closed/);assert.match(publicCheck.stderr,/0 opened/); + assert.equal(existsSync(join(publicRoot,'.bound')),false,'public verification writes neither history nor caches'); + writeFileSync(join(publicRoot,'src/input.txt'),'changed public input');const alteredCheck=spawnSync(process.execPath,[reader,'fold','--check'],{cwd:publicRoot,encoding:'utf8',timeout:20000});assert.equal(alteredCheck.status,1);assert.match(alteredCheck.stderr,/REFUSE·check receipts are open/); + const proposal=join(temp,'store-limit.proposal');writeFileSync(proposal,row('store/bytes','bytes','0..1000000000',{form:'interval',role:'reads'})+'\n'); + const signed=ok(['sign',proposal,'--key','device','--key-file',key]);assert.match(signed.stdout,/sig=/);assert.doesNotMatch(signed.stderr,/CAPSULE .* run|READER\s|OBSERVE\s|OWN\s/,'sign consumes the verified completed snapshot without provider work');assert.equal(readFileSync(join(root,'receipts.bound'),'utf8'),receipt); + const unreadProposal=join(temp,'unread-limit.proposal');writeFileSync(unreadProposal,row('sample/unmeasured','count','0..0',{form:'interval',role:'reads'})+'\n');const unread=run(['sign',unreadProposal,'--key','device','--key-file',key]);assert.equal(unread.status,1);assert.match(unread.stderr,/REFUSE·inert/,'a closed snapshot cannot invent a missing reading');assert.equal(readFileSync(join(root,'receipts.bound'),'utf8'),receipt); + writeFileSync(join(root,'src/input.txt'),'tampered measured input\n');const refused=run(['fold','--check']);assert.equal(refused.status,1);assert.match(refused.stderr,/REFUSE·check receipts are open/); + }finally{if(process.env.BOUND_TEST_CAPTURE)writeFileSync(process.env.BOUND_TEST_CAPTURE+'.'+name+'.json',JSON.stringify(captures,null,2)+'\n');rmSync(temp,{recursive:true,force:true});} +}); diff --git a/test/public-receipt-portability.test.ts b/test/public-receipt-portability.test.ts new file mode 100644 index 0000000..170c38c --- /dev/null +++ b/test/public-receipt-portability.test.ts @@ -0,0 +1,60 @@ +import {test} from 'node:test'; +import assert from 'node:assert/strict'; +import {mkdtempSync,writeFileSync,readFileSync,rmSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {canonical,parse,publicationOf,PROTOCOL} from '@lapxo/topos/wire'; +import {fullDigest} from '../src/host/digest.ts'; +import {carriedFrom,keepCarried} from '../src/fold/resolved.ts'; +import {fileRegionDigest} from '../src/fold/closed.ts'; +import {readingClosures,verifiedReadingReceipts} from '../src/host/reading-closures.ts'; +import type {Capsule} from '../src/host/capsule.ts'; +const digest=(text:string)=>fullDigest(text,'sha256'); +for(const name of ['calibration','conversion'])test(`public native receipts authenticate without a store: ${name}`,()=>{ + const root=mkdtempSync(join(tmpdir(),'bound-public-receipt-'));let calls=0; + try{ + writeFileSync(join(root,'input.txt'),name+'\n'); + const capsule={digest:digest(name),declaration:{regions:{}},lines:[],ask:(requests:any[])=>requests.map(req=>req.verb==='render'?{protocol:PROTOCOL,kind:'fact',lines:[canonical({scope:name,role:'reads',form:'alphabet',measure:'reads',value:'input.txt',at:'receipt:1',by:'world'})]}:(calls++,{protocol:PROTOCOL,kind:'fact',claims:[{scope:'result/'+name,role:'writes',measure:'status',bound:{kind:'enumerated',values:['met']}}]}))} as Capsule; + const options={root,store:join(root,'.bound'),reader:name,speaker:'reader',digest,capsule,region:'reading',projection:'inputs',files:[{place:'input.txt',text:readFileSync(join(root,'input.txt'),'utf8')}]}; + const first=readingClosures(options);assert.equal(first.opened,1); + const copied=first.lines.map(line=>canonical(parse(line).value.fields)); + assert.equal(verifiedReadingReceipts(join(root,'no-store'),copied,digest),1); + const idle=readingClosures(options);assert.equal(idle.opened,0);assert.equal(calls,1);assert.deepEqual(idle.lines,copied); + const corrupt=copied.map(line=>{const f=parse(line).value.fields;return f.measure==='bytes'?canonical({...f,about:f.about+'tampered'}):line;}); + assert.equal(verifiedReadingReceipts(options.store,corrupt,digest),undefined,'valid local CAS cannot hide corrupt shipped bytes'); + const missing=copied.map(line=>{const f=parse(line).value.fields;const {about,...rest}=f;return f.measure==='count'?canonical(rest):line;}); + assert.equal(verifiedReadingReceipts(join(root,'no-store'),missing,digest),undefined,'absence is not verified closure'); + }finally{rmSync(root,{recursive:true,force:true});} +}); +for(const name of ['calibration','inventory'])test(`configuration public projection preserves file seal: ${name}`,()=>{ + const root=mkdtempSync(join(tmpdir(),'bound-public-lock-')); + try{ + const lock=join(root,'TARGET.bound');writeFileSync(join(root,'input.txt'),name); + const row=(epoch:string,sig:string)=>canonical({scope:'name',role:'writes',form:'alphabet',measure:'id',value:name,at:'policy:identity',by:'device',epoch,sig}); + const original=row('2','signature-a');writeFileSync(lock,original+'\n');const before=fileRegionDigest(root,'','receipts/.','sha256'); + writeFileSync(lock,row('7','signature-b')+'\n');assert.equal(fileRegionDigest(root,'','receipts/.','sha256'),before,'delivery envelopes do not enter public file identity'); + writeFileSync(lock,publicationOf([original]).join('\n')+'\n');assert.equal(fileRegionDigest(root,'','receipts/.','sha256'),before); + writeFileSync(lock,canonical({...parse(original).value.fields,value:name+'-changed'})+'\n');assert.notEqual(fileRegionDigest(root,'','receipts/.','sha256'),before,'a live configuration change invalidates the seal'); + writeFileSync(lock,original+'\n');writeFileSync(join(root,'input.txt'),'different bytes');assert.notEqual(fileRegionDigest(root,'','receipts/.','sha256'),before); + }finally{rmSync(root,{recursive:true,force:true});} +}); + +test('a cached authentic carrier cannot hide altered public full-resolution evidence',()=>{ + const root=mkdtempSync(join(tmpdir(),'bound-receipt-carrier-')); + try{ + const body=[canonical({scope:'read/source',role:'writes',form:'alphabet',measure:'status',value:'met',at:'place:source',by:'reader'})]; + const id=keepCarried(root,body),header=canonical({scope:'receipts',role:'writes',form:'alphabet',measure:'digest',value:digest('summary'),at:'place:'+id,by:'bound'}); + assert.deepEqual(carriedFrom(join(root,'empty'),[...body,header]),body); + assert.throws(()=>carriedFrom(root,[body[0].replace('value=met','value=failed'),header]),/REFUSE·receipt public carrier bytes mismatch/); + assert.deepEqual(carriedFrom(root,[header]),body,'a summary-only local view keeps its existing CAS contract'); + }finally{rmSync(root,{recursive:true,force:true});} +}); + +test('signed native receipt evidence is not mistaken for the public carrier header',()=>{ + const root=mkdtempSync(join(tmpdir(),'bound-receipt-evidence-')); + try{ + const body=[canonical({scope:'receipts',role:'writes',form:'alphabet',measure:'digest',value:digest('earlier'),at:'place:'+digest('earlier-body'),by:'device',epoch:'3',sig:'signed-evidence'})]; + const id=keepCarried(root,body),header=canonical({scope:'receipts',role:'writes',form:'alphabet',measure:'digest',value:digest('summary'),at:'place:'+id,by:'bound'}); + assert.deepEqual(carriedFrom(join(root,'empty'),[...body,header]),body); + }finally{rmSync(root,{recursive:true,force:true});} +}); diff --git a/test/reader-completion.test.ts b/test/reader-completion.test.ts index da72489..d764869 100644 --- a/test/reader-completion.test.ts +++ b/test/reader-completion.test.ts @@ -8,7 +8,7 @@ import {spawnSync} from 'node:child_process'; import {canonical} from '@lapxo/topos/wire'; for(const bounded of [false,true])test(`a requested native view waits for its ${bounded?'bounded':'historical'} declared reading and reuses the unchanged answer`,()=>{ - const reader=process.env.BOUND_TEST_READER ?? new URL('../src/cli/verb.ts',import.meta.url).pathname; + const reader=process.env.BOUND_TEST_READER ?? new URL('../dist/cli/verb.js',import.meta.url).pathname; const temp=mkdtempSync(join(tmpdir(),'bound-completion-')),root=join(temp,'place'),pair=generateKeyPairSync('ed25519'); const key=join(temp,'key.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); const row=(scope,measure,value,form='alphabet')=>canonical({scope,measure,value,form,role:'writes',at:'policy:sample',by:'target'}); @@ -31,6 +31,11 @@ for(const bounded of [false,true])test(`a requested native view waits for its ${ const second=run(['fold','--as','evidence']);assert.equal(second.status,0,second.stderr);assert.match(second.stdout,/scope=extent .*value=5\.\.5/);assert.equal(readFileSync(join(root,'calls'),'utf8'),calls);assert.match(second.stderr,/OBSERVE\s+0 run/); writeFileSync(join(root,'src/input.txt'),'changed'); const changed=run(['fold','--as','evidence']);assert.equal(changed.status,0,changed.stderr);assert.match(changed.stdout,/scope=extent .*value=7\.\.7/);assert.equal(readFileSync(join(root,'calls'),'utf8'),calls+'run\n'); + // An operational refusal cannot seal unchanged inputs as a completed fold. + writeFileSync(join(root,'extent.mjs'),"import {existsSync,writeFileSync} from 'node:fs'; export const observe = bytes => {if(!existsSync('attempt')){writeFileSync('attempt','started');throw Error('temporary reader unavailable');}return [{scope:'extent',role:'writes',measure:'bytes',bound:{kind:'interval',lo:bytes.length,hi:bytes.length}}];};"); + const failedPass=run(['fold']);assert.equal(failedPass.status,1,failedPass.stderr);assert.match(failedPass.stderr,/temporary reader unavailable/);assert.doesNotMatch(failedPass.stdout,/PASS\s+closed/); + const recoveredPass=run(['fold']);assert.equal(recoveredPass.status,0,recoveredPass.stderr);assert.doesNotMatch(recoveredPass.stderr,/temporary reader unavailable/); + const recoveredView=run(['fold','--as','evidence']);assert.equal(recoveredView.status,0,recoveredView.stderr);assert.match(recoveredView.stdout,/scope=extent .*value=7\.\.7/); writeFileSync(join(root,'extent.mjs'),"export const observe = () => { throw Error('declared reading refused'); };"); const refused=run(['fold','--as','evidence']);assert.equal(refused.status,1,refused.stderr);assert.match(refused.stderr,/REFUSE·reader .*declared reading refused/);assert.equal(refused.stdout.includes('scope=extent'),false,'no stale result is presented as a completed reading'); if(bounded){ diff --git a/test/reading-closures.test.ts b/test/reading-closures.test.ts new file mode 100644 index 0000000..530d92a --- /dev/null +++ b/test/reading-closures.test.ts @@ -0,0 +1,36 @@ +import {fullDigest} from '../src/host/digest.ts'; +import {test} from 'node:test'; +import assert from 'node:assert/strict'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,rmSync,readdirSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {canonical,PROTOCOL} from '@lapxo/topos/wire'; +import {readingClosures} from '../src/host/reading-closures.ts'; +import type {Capsule} from '../src/host/capsule.ts'; +for(const name of ['specification','conversion'])test('native input closure: '+name,()=>{ + const root=mkdtempSync(join(tmpdir(),'bound-input-closure-')),store=join(root,'.bound'); + try{ + writeFileSync(join(root,'left.txt'),'left');writeFileSync(join(root,'right.txt'),'right');let run=0; + const plan=(scope:string,file:string,needs='',at='receipt:1')=>canonical({scope,role:'reads',form:'alphabet',measure:'reads',value:file,...(needs?{needs}:{}),at,by:'world'}); + let projected=[plan('left','left.txt'),plan('right','right.txt'),plan('summary','left.txt','left|right','receipt:0')]; + const capsule={digest:'sha256:'+'1'.repeat(64),declaration:{regions:{}},lines:[],ask:(requests:any[])=>requests.map(req=>{if(req.verb==='render')return {protocol:PROTOCOL,kind:'fact',lines:projected};run++;return {protocol:PROTOCOL,kind:'fact',claims:[{scope:'seen/'+req.rootScope,role:'reads',measure:'status',bound:{kind:'enumerated',values:['met']}}]};})} as Capsule; + const read=()=>readingClosures({root,store,reader:name,speaker:'reader',digest:text=>fullDigest(text,'sha256'),capsule,region:'reading',projection:'inputs',files:['left.txt','right.txt'].map(place=>({place,text:readFileSync(join(root,place),'utf8')}))}); + const first=read();assert.equal(first.opened,2);assert.equal(run,3);const costs=first.lines.filter(line=>line.includes('measure=s '));assert.equal(costs.length,2);for(const cost of costs){const span=/value=(\d+\.\d+)\.\.(\d+\.\d+)/.exec(cost)!;assert.ok(span);assert.equal(span[1],span[2]);assert.ok(Number(span[1])>=0);}const idle=read();assert.equal(idle.opened,0);assert.equal(run,3);assert.deepEqual(idle.lines.filter(line=>line.includes('measure=s ')),costs,'reuse retains the measured regional cost without measuring a fresh execution'); + writeFileSync(join(root,'left.txt'),'changed');assert.equal(read().opened,1);assert.equal(run,5,'only changed leaf and its dependent reading execute'); + const carried=join(store,'cas','carried');for(const name of readdirSync(carried))writeFileSync(join(carried,name),'corrupt');assert.equal(read().opened,2);assert.equal(run,8,'corrupt authentic carriers recompute'); + const before=run;projected=[plan('left','left.txt','right'),plan('right','right.txt','left')];assert.throws(read,/dependency cycle/);assert.equal(run,before,'cyclic projection refuses before any reading'); + projected=[plan('outside','not-handed')];assert.throws(read,/unhanded/);assert.equal(run,before); + }finally{rmSync(root,{recursive:true,force:true});} +}); + +test('empty readings follow the declared policy and retain native zero-row receipts',()=>{ + const root=mkdtempSync(join(tmpdir(),'bound-empty-closure-'));let calls=0; + try{ + writeFileSync(join(root,'input.txt'),'input'); + const capsule={digest:'sha256:'+'2'.repeat(64),declaration:{regions:{}},lines:[],ask:(requests:any[])=>requests.map(req=>req.verb==='render'?{protocol:PROTOCOL,kind:'fact',lines:[canonical({scope:'empty',role:'reads',form:'alphabet',measure:'reads',value:'input.txt',at:'receipt:1',by:'world'})]}:(calls++,{protocol:PROTOCOL,kind:'fact',claims:[]}))} as Capsule; + const read=(allowsEmpty:boolean)=>readingClosures({root,store:join(root,'.bound'),reader:'reader',speaker:'reader',digest:text=>fullDigest(text,'sha256'),capsule,region:'reading',projection:'inputs',allowsEmpty,files:[{place:'input.txt',text:'input'}]}); + assert.throws(()=>read(false),/empty response is not admitted/); + assert.equal(read(true).opened,1);assert.equal(read(true).opened,0);assert.equal(calls,2); + assert.throws(()=>read(false),/empty response is not admitted/);assert.equal(calls,2,'cached emptiness cannot override the policy'); + }finally{rmSync(root,{recursive:true,force:true});} +}); diff --git a/test/receipt-carrier.test.ts b/test/receipt-carrier.test.ts index 1d787f6..5b814fe 100644 --- a/test/receipt-carrier.test.ts +++ b/test/receipt-carrier.test.ts @@ -66,7 +66,7 @@ test('resolution 8 authenticates an inline carrier in an empty store; summaries const digest='sha256:'+createHash('sha256').update(line+'\n').digest('hex'); assert.deepEqual(carriedFrom(store,[line,rootLine(digest)]),[line]); assert.equal(carriedFrom(store,[rootLine(digest)]),undefined); - assert.equal(carriedFrom(store,[line.replace('place/receipts','other/receipts'),rootLine(digest)]),undefined); + assert.throws(()=>carriedFrom(store,[line.replace('place/receipts','other/receipts'),rootLine(digest)]),/REFUSE·receipt public carrier bytes mismatch/); assert.deepEqual(carriedIn(store),[],'public verification does not manufacture a private carrier'); })); diff --git a/test/signing-port.test.ts b/test/signing-port.test.ts index d1071a0..64b27b0 100644 --- a/test/signing-port.test.ts +++ b/test/signing-port.test.ts @@ -1,35 +1,3 @@ -import {generateKeyPairSync,createHash} from 'node:crypto'; -import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,existsSync,rmSync} from 'node:fs'; -import {tmpdir} from 'node:os';import {join,resolve} from 'node:path';import {spawnSync} from 'node:child_process';import {strict as assert} from 'node:assert'; -import {canonical,parse} from '@lapxo/topos/wire'; import {test} from 'node:test'; -test('declared signing ports are equivalent and CLI refusals are atomic',()=>{ -const reader=process.env.BOUND_TEST_READER??new URL('../src/cli/verb.ts',import.meta.url).pathname,temp=mkdtempSync(join(tmpdir(),'bound-sign-cli-')); -const report={reader,dependency:'Topos 0.1.8 signing-lot/1',runs:[],complete:false}; -const pair=generateKeyPairSync('ed25519'),key=join(temp,'device.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); -const pub=pair.publicKey.export({type:'spki',format:'der'}).toString('base64');const wire=new URL('../node_modules/@lapxo/topos/dist/wire/index.js',import.meta.url).pathname; -const counter=join(temp,'counter'),command=join(temp,'signer.mjs'),registry=join(temp,'bindings.json'); -writeFileSync(command,`import{readFileSync,appendFileSync}from'node:fs';import{sign,createPrivateKey}from'node:crypto';import{parse,canonical,formatSignature}from ${JSON.stringify(wire)};appendFileSync(process.argv[2],'1');const rows=readFileSync(0,'utf8').trimEnd().split('\\n');process.stdout.write(rows.map(bytes=>canonical({by:parse(bytes).value.fields.by,sig:formatSignature('ed25519:fixture',sign(null,Buffer.from(bytes),createPrivateKey(process.env.PORT_TEST_KEY)).toString('base64'))})).join('\\n')+'\\n');`); -const good={kind:'command',executable:process.execPath,args:[command,counter]};writeFileSync(registry,JSON.stringify({local:good})); -function run(root,label,args,expected=0){const p=spawnSync(process.execPath,[reader,...args],{cwd:root,env:{...process.env,BOUND_SIGNERS:registry,PORT_TEST_KEY:pair.privateKey.export({type:'pkcs8',format:'pem'})},encoding:'utf8',timeout:10000});report.runs.push({label,status:p.status,stdout:p.stdout,stderr:p.stderr});assert.equal(p.status,expected,p.stdout+p.stderr);return p;} -const row=(scope,measure,value,form='alphabet')=>canonical({scope,measure,value,form,role:'writes',at:'policy:fixture',by:'target'}); -function seed(root,name){mkdirSync(root);const rows=[['keys/device','class','authorize'],['keys/device','coverage','*'],['keys/device','public-key',pub],['keys/device','signer',name],['signer/timeout','milliseconds','500..500','interval'],['signer/response-bytes','bytes','65536..65536','interval'],['wire/digest-algorithms','id','sha256'],['wire/signature-algorithms','id','ed25519:fixture'],['wire/era','id','fixture'],['wire/families','id','keys|signer|wire|tree|write|leaf|read|fold|receipts|rendered|resolved|beat|view|region|sample'],['wire/fields','id','scope|role|form|measure|value|by|at|needs|sig|epoch|shape|restsOn|condition|about|kind|view'],['wire/required','id','scope|role|form|measure|value|by|at'],['wire/forms','id','alphabet|interval'],['wire/roles','id','reads|writes|demands'],['wire/at-classes','id','origin|place|receipt|witness|policy']];writeFileSync(join(root,'TARGET.bound'),rows.map(v=>row(...v)).join('\n')+'\n');} -const file=join(temp,'file'),remote=join(temp,'command'); -try{seed(file,'file');seed(remote,'local');run(file,'file bootstrap',['land','--key','device','--key-file',key]);run(remote,'command bootstrap',['land','--key','device','--signer','local']); - const draft=join(temp,'lot.proposal');writeFileSync(draft,[row('sample/a','id','yes'),row('sample/b','id','yes')].join('\n')+'\n'); - const f=run(file,'file signs whole lot',['sign','--key','device','--key-file',key,draft]);const before=readFileSync(counter,'utf8').length; - const c=run(remote,'command signs whole lot',['sign','--key','device','--signer','local',draft]);assert.equal(readFileSync(counter,'utf8').length-before,1);const signed=p=>p.stdout.split('\n').filter(l=>parse(l).kind==='fact');assert.deepEqual(signed(f),signed(c)); - const signedFile=join(temp,'signed.proposal');writeFileSync(signedFile,signed(c).join('\n')+'\n');run(file,'file consumer admits signed lot',['land',signedFile]);run(remote,'command consumer admits identical lot',['land',signedFile]); - writeFileSync(draft,[row('sample/failure-a','id','yes'),row('sample/failure-b','id','yes')].join('\n')+'\n'); - const ledger=join(remote,'.bound/ledger/device.bound'),hash=()=>createHash('sha256').update(readFileSync(ledger)).digest('hex'); - const absent=join(temp,'absent');seed(absent,'local');writeFileSync(join(absent,'TARGET.bound'),readFileSync(join(absent,'TARGET.bound'),'utf8').split('\n').filter(l=>!l.includes('measure=signer')).join('\n'));const miss=run(absent,'no declared signer',['land','--signer','local'],1);assert.match(miss.stderr,/missing.*keys\/device/);assert.equal(existsSync(join(absent,'.bound/ledger')),false); - for(const [label,code,pattern]of[['exit',"process.stdout.write('SECRET_OUTPUT');process.stderr.write('SECRET_ERROR');process.exit(7)",/status=7/],['timeout','setInterval(()=>{},100)',/timeout/],['malformed',"process.stdout.write('SECRET_OUTPUT\\n')",/invalid response/],['partial',"process.stdout.write('bound-lock/1 by=device sig=bad\\n')",/invalid response/]]){ - writeFileSync(registry,JSON.stringify({local:{kind:'command',executable:process.execPath,args:['--eval',code]}}));const beforeHash=hash();const p=run(remote,label,['land','--key','device','--signer','local',draft],1);assert.match(p.stderr,pattern);assert.ok(!(p.stdout+p.stderr).includes('SECRET'));assert.equal(hash(),beforeHash); - } - writeFileSync(registry,JSON.stringify({local:good}));run(remote,'selection conflict',['sign','--signer','file',draft],1);run(remote,'retired inert out refuses',['sign','--out','ignored',draft],2); - const invalid=join(temp,'invalid.proposal');writeFileSync(invalid,row('sample/valid','id','yes')+'\n'+row('sample/unknown','id','yes').replace('bound-lock/1','bound-lock/0')+'\n'); - const invalidBefore=hash();const refused=run(remote,'unknown wire row refuses whole lot',['land','--signer','local',invalid],1);assert.match(refused.stderr,/version this reader does not know/);assert.equal(hash(),invalidBefore);assert.equal(refused.stdout,''); - report.complete=true;report.fileCommandIdentical=true;report.oneInvocationPerLot=true;report.failureAtomic=true; -}finally{rmSync(temp,{recursive:true,force:true});} - -}); +import {runSigningSample} from '../tools/samples/run-signing.mjs'; +test('declared signing ports are equivalent and CLI refusals are atomic',()=>{runSigningSample(process.env.BOUND_TEST_READER??new URL('../src/cli/verb.ts',import.meta.url).pathname,{rows:[{scope:'sample/a',measure:'id',value:'yes'},{scope:'sample/b',measure:'id',value:'yes'}]},{unknownVersion:'bound-lock/0'});}); diff --git a/test/typed-publication.test.ts b/test/typed-publication.test.ts new file mode 100644 index 0000000..9d04f3e --- /dev/null +++ b/test/typed-publication.test.ts @@ -0,0 +1,11 @@ +import {test} from 'node:test'; +import {runTypedSample} from '../tools/samples/run-typed.mjs'; + +test('typed sample lands from a new standing closure and prints object states through the installed-compatible CLI',()=>{ + runTypedSample(process.env.BOUND_TEST_READER ?? new URL('../dist/cli/verb.js',import.meta.url).pathname,process.env.BOUND_TEST_CAPTURE); +}); + +test('a repository-artifact place uses the same object contract with a different selected codec',()=>{ + const capture=process.env.BOUND_TEST_CAPTURE?.replace(/\.json$/,'.artifacts.json'); + runTypedSample(process.env.BOUND_TEST_READER ?? new URL('../dist/cli/verb.js',import.meta.url).pathname,capture,'artifacts.json'); +}); diff --git a/test/typed-walk-publication.test.ts b/test/typed-walk-publication.test.ts new file mode 100644 index 0000000..e389fed --- /dev/null +++ b/test/typed-walk-publication.test.ts @@ -0,0 +1,3 @@ +import {test} from 'node:test'; +import {runTypedWalkSample} from '../tools/samples/run-typed-walk.mjs'; +for(const sample of ['yes.json','artifacts.json'])test(`typed foreign history preserves origin-local withdrawals without taking receiver IDs: ${sample}`,()=>runTypedWalkSample(process.env.BOUND_TEST_READER??new URL('../dist/cli/verb.js',import.meta.url).pathname,process.env.BOUND_TEST_CAPTURE,sample)); diff --git a/tools/samples/check-publication.mjs b/tools/samples/check-publication.mjs new file mode 100644 index 0000000..138f5c7 --- /dev/null +++ b/tools/samples/check-publication.mjs @@ -0,0 +1,77 @@ +import {readFileSync} from 'node:fs'; +import {fileURLToPath} from 'node:url'; +import assert from 'node:assert/strict'; +import {runTypedSample} from './run-typed.mjs'; +import {runSigningSample} from './run-signing.mjs'; +import {Worker} from 'node:worker_threads'; +const [profile, yes, no, requestedReader=new URL('../../dist/cli/verb.js',import.meta.url).pathname]=process.argv.slice(2); +const {publicInstrument}=await import('./public-instrument.mjs'); +const instrument=await publicInstrument(requestedReader),reader=instrument.reader; +process.once('exit',()=>instrument.close()); +if(profile==='typed-object') { + const result=runTypedSample(reader,undefined,'yes.json',undefined,{yes,no}); + for(const snapshot of result.snapshots){console.log('SCENE '+snapshot.label);for(const row of snapshot.cells)console.log('CELL '+JSON.stringify(row));} + for(const event of result.events.filter(e=>e.case))console.log('NEGATIVE '+event.case+' '+event.stderr.trim()); +} else if(profile==='evidence'||profile==='native-views') { + const positive=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); + assert.deepEqual(positive.keyClasses,['authorize','read','access','attest']); + assert.equal(typeof negative.uncovered?.scope,'string');assert.equal(typeof negative.tamperedValue,'string'); + const results=await Promise.all(positive.keyClasses.map(keyClass=>new Promise((resolve,reject)=>{ + const worker=new Worker(new URL('./evidence-worker.mjs',import.meta.url),{workerData:{reader,keyClass,negative,options:profile==='native-views'?{lines:positive.lines,views:true}:undefined}}); + let completed=false;worker.once('message',events=>{completed=true;resolve({keyClass,events});});worker.once('error',reject);worker.once('exit',code=>{if(code!==0||!completed)reject(Error('Evidence worker did not complete: '+keyClass+' '+code));}); + }))); + for(const {keyClass,events}of results){console.log('KEY-CLASS '+keyClass);for(const event of events)console.log(event.stdout+event.stderr);} +} else if(profile==='signing') { + const result=runSigningSample(reader,JSON.parse(readFileSync(yes,'utf8')),JSON.parse(readFileSync(no,'utf8'))); + for(const event of result.runs)console.log(event.label+'\n'+event.stdout+event.stderr); + console.log('SIGNING file-command-equivalent; one invocation per lot; atomic refusals'); +} else if(profile==='query-views') { + const {runQueryViews}=await import('./run-query-views.mjs'); + const events=runQueryViews(reader,JSON.parse(readFileSync(yes,'utf8')),JSON.parse(readFileSync(no,'utf8'))); + for(const event of events)console.log(event.stdout+event.stderr); + console.log('QUERY why: two places; exact coordinate; absent OPEN; missing view refused'); +} else if(profile==='prose-views') { + const positive=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); + assert.equal(positive.places.length,2); + const results=await Promise.all(positive.places.map(place=>new Promise((resolve,reject)=>{ + const worker=new Worker(new URL('./prose-worker.mjs',import.meta.url),{workerData:{reader,positive,negative,place:place.name}}); + let received=false;worker.once('message',events=>{received=true;resolve(events);});worker.once('error',reject);worker.once('exit',code=>{if(code!==0||!received)reject(Error('Prose sample worker did not complete: '+place.name+' '+code));}); + }))); + for(const events of results)for(const event of events)console.log(event.stdout+event.stderr); + console.log('PROSE three named views; two places; two exact readings; disagreement refused'); +} else if(profile==='historical-presentation') { + const positive=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); + assert.equal(positive.places.length,2); + const results=await Promise.all(positive.places.map(place=>new Promise((resolve,reject)=>{ + const worker=new Worker(new URL('./historical-presentation-worker.mjs',import.meta.url),{workerData:{reader,positive,negative,place:place.name}}); + let received=false;worker.once('message',events=>{received=true;resolve(events);});worker.once('error',reject);worker.once('exit',code=>{if(code!==0||!received)reject(Error('Historical presentation worker did not complete: '+place.name+' '+code));}); + }))); + for(const events of results)for(const event of events)console.log(event.stdout+event.stderr); + console.log('HISTORICAL explanation and README; two places; exact prose; absent evidence not invented; unoffered view refused'); +} else if(profile==='historical-document-views') { + const positive=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); + assert.equal(positive.places.length,2); + const results=await Promise.all(positive.places.map(place=>new Promise((resolve,reject)=>{ + const worker=new Worker(new URL('./historical-document-worker.mjs',import.meta.url),{workerData:{reader,positive,negative,place:place.name}}); + let received=false;worker.once('message',events=>{received=true;resolve(events);});worker.once('error',reject);worker.once('exit',code=>{if(code!==0||!received)reject(Error('Historical document sample worker did not complete: '+place.name+' '+code));}); + }))); + for(const events of results)for(const event of events)console.log(event.stdout+event.stderr); + console.log('HISTORICAL citation, guide, reference; two places; two exact readings; unoffered view refused'); +} else if(profile==='historical-build') { + const positive=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); + const results=await Promise.all(positive.places.map(place=>new Promise((resolve,reject)=>{ + const worker=new Worker(new URL('./historical-build-worker.mjs',import.meta.url),{workerData:{reader,positive,negative,place:place.name}}); + let received=false;worker.once('message',events=>{received=true;resolve(events);});worker.once('error',reject);worker.once('exit',code=>{if(code!==0||!received)reject(Error('Build sample worker did not complete: '+place.name+' '+code));}); + }))); + for(const events of results)for(const event of events)console.log(event.stdout+event.stderr); + console.log('BUILD two places; exact configuration; two equal readings; unoffered view refused'); +} else if(profile==='program-views') { + const positive=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); + assert.equal(positive.places.length,2); + const results=await Promise.all(positive.places.map(place=>new Promise((resolve,reject)=>{ + const worker=new Worker(new URL('./program-worker.mjs',import.meta.url),{workerData:{reader,positive,negative,place:place.name}}); + let received=false;worker.once('message',events=>{received=true;resolve(events);});worker.once('error',reject);worker.once('exit',code=>{if(code!==0||!received)reject(Error('Program sample worker did not complete: '+place.name+' '+code));}); + }))); + for(const events of results)for(const event of events)console.log(event.stdout+event.stderr); + console.log('PROGRAMS two places; card and programs; two equal readings; unread stays unread; cycle refused'); +} else throw Error('Unknown sample profile: '+profile); diff --git a/tools/samples/check-walk-publication.mjs b/tools/samples/check-walk-publication.mjs new file mode 100644 index 0000000..f19dc5c --- /dev/null +++ b/tools/samples/check-walk-publication.mjs @@ -0,0 +1,21 @@ +import assert from 'node:assert/strict'; +import {readFileSync} from 'node:fs'; +import {Worker} from 'node:worker_threads'; +const [yes,no,reader=new URL('../../dist/cli/verb.js',import.meta.url).pathname]=process.argv.slice(2); +const positive=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); +assert.ok(positive.declarations.length);assert.equal(negative.contract,'whole-region@1'); +const families=['measurement','artifact']; +// Separate event loops keep a sample's synchronous CLI calls from delaying +// another sample's real interruption. Each worker owns its instrument and places. +const results=await Promise.allSettled(families.map(family=>new Promise((resolve,reject)=>{ + const worker=new Worker(new URL('./walk-sample-worker.mjs',import.meta.url),{workerData:{family,reader,positive}}); + let answered=false; + worker.once('message',events=>{answered=true;resolve(events);}); + worker.once('error',reject); + worker.once('exit',code=>{if(!answered)reject(Error('Walk sample exited without evidence: '+code));}); +}))); +for(const [index,result] of results.entries()){ + if(result.status==='rejected')throw result.reason; + console.log('PLACE '+families[index]); + for(const event of result.value)console.log(event.stdout+event.stderr); +} diff --git a/tools/samples/evidence-worker.mjs b/tools/samples/evidence-worker.mjs new file mode 100644 index 0000000..3d75597 --- /dev/null +++ b/tools/samples/evidence-worker.mjs @@ -0,0 +1,4 @@ +import {parentPort,workerData} from 'node:worker_threads'; +import {runEvidenceSample} from './run-evidence.mjs'; +const {reader,keyClass,negative,options}=workerData; +parentPort.postMessage(runEvidenceSample(reader,keyClass,negative,undefined,options)); diff --git a/tools/samples/historical-build-worker.mjs b/tools/samples/historical-build-worker.mjs new file mode 100644 index 0000000..5022876 --- /dev/null +++ b/tools/samples/historical-build-worker.mjs @@ -0,0 +1,3 @@ +import {parentPort,workerData} from 'node:worker_threads'; +import {runHistoricalBuild} from './run-historical-build.mjs'; +parentPort.postMessage(runHistoricalBuild(workerData.reader,workerData.positive,workerData.negative,workerData.place)); diff --git a/tools/samples/historical-document-worker.mjs b/tools/samples/historical-document-worker.mjs new file mode 100644 index 0000000..1d6397c --- /dev/null +++ b/tools/samples/historical-document-worker.mjs @@ -0,0 +1,4 @@ +import {parentPort,workerData} from 'node:worker_threads'; +import {runHistoricalDocumentViews} from './run-historical-document-views.mjs'; +const {reader,positive,negative,place}=workerData; +parentPort.postMessage(runHistoricalDocumentViews(reader,positive,negative,place)); diff --git a/tools/samples/historical-presentation-worker.mjs b/tools/samples/historical-presentation-worker.mjs new file mode 100644 index 0000000..fd119b0 --- /dev/null +++ b/tools/samples/historical-presentation-worker.mjs @@ -0,0 +1,4 @@ +import {parentPort,workerData} from 'node:worker_threads'; +import {runHistoricalPresentationViews} from './run-historical-presentation.mjs'; +const {reader,positive,negative,place}=workerData; +parentPort.postMessage(runHistoricalPresentationViews(reader,positive,negative,place)); diff --git a/tools/samples/module-closure.mjs b/tools/samples/module-closure.mjs new file mode 100644 index 0000000..28b21eb --- /dev/null +++ b/tools/samples/module-closure.mjs @@ -0,0 +1,29 @@ +import {createHash} from 'node:crypto'; +import {readFileSync} from 'node:fs'; +import {createRequire} from 'node:module'; +import {fileURLToPath} from 'node:url'; + +// A sample host adapter: every imported module is an artifact with its own hash. +// Rewriting module specifiers removes installation paths from the offered bytes. +// This is not standing identity; Topos still encodes the folded standing. +export function moduleClosure(entry) { + const complete = new Map(), active = new Set(), blobs = new Map(); + function visit(url) { + const path = fileURLToPath(url); + if (complete.has(path)) return complete.get(path); + if (active.has(path)) throw Error('Sample closure does not support cyclic module imports'); + active.add(path); + const require = createRequire(url); + const text = readFileSync(url, 'utf8').replace(/(\bfrom\s*|\bimport\s*)(['"])([^'"\n]+)\2/g, + (match, prefix, quote, specifier) => { + if (specifier.startsWith('node:')) return match; + const dependency = specifier.startsWith('.') ? new URL(specifier, url) : new URL(`file://${require.resolve(specifier)}`); + return `${prefix}${quote}./${visit(dependency)}${quote}`; + }); + const hex = createHash('sha256').update(text).digest('hex'); + blobs.set(`sha256:${hex}`, text); complete.set(path, hex); active.delete(path); + return hex; + } + const digest = `sha256:${visit(entry)}`; + return {digest, blobs}; +} diff --git a/tools/samples/program-worker.mjs b/tools/samples/program-worker.mjs new file mode 100644 index 0000000..4963573 --- /dev/null +++ b/tools/samples/program-worker.mjs @@ -0,0 +1,4 @@ +import {parentPort,workerData} from 'node:worker_threads'; +import {runProgramViews} from './run-program-views.mjs'; +const {reader,positive,negative,place}=workerData; +parentPort.postMessage(runProgramViews(reader,positive,negative,place)); diff --git a/tools/samples/prose-worker.mjs b/tools/samples/prose-worker.mjs new file mode 100644 index 0000000..cfbfaf8 --- /dev/null +++ b/tools/samples/prose-worker.mjs @@ -0,0 +1,4 @@ +import {parentPort,workerData} from 'node:worker_threads'; +import {runProseViews} from './run-prose-views.mjs'; +const {reader,positive,negative,place}=workerData; +parentPort.postMessage(runProseViews(reader,positive,negative,place)); diff --git a/tools/samples/public-instrument.mjs b/tools/samples/public-instrument.mjs new file mode 100644 index 0000000..734081d --- /dev/null +++ b/tools/samples/public-instrument.mjs @@ -0,0 +1,31 @@ +import {mkdtempSync,mkdirSync,linkSync,readdirSync,renameSync,readFileSync,writeFileSync,existsSync,symlinkSync,rmSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join,dirname} from 'node:path'; +import {pathToFileURL} from 'node:url'; +import {createHash} from 'node:crypto'; +import {publicationOf,parse} from '@lapxo/topos/wire'; + +/** Test the public instrument's standing, not the authorship ledger of the build checkout. + * Dry runs link verified content-addressed implementation bytes; they never copy an instrument tree or node_modules. Library resolution shares installed dependencies for this source conformance vector. + * This is not installed-package acceptance; that witness uses the exact npm archive. + */ +const content=join(tmpdir(),'bound-sample-content'); +function overlay(bytes,to){const hex=createHash('sha256').update(bytes).digest('hex'),from=join(content,hex);mkdirSync(content,{recursive:true});if(!existsSync(from)){const next=from+'.'+process.pid;writeFileSync(next,bytes,{mode:0o444});renameSync(next,from);}if(!readFileSync(from).equals(bytes))throw Error('REFUSE·sample content digest differs '+hex);mkdirSync(dirname(to),{recursive:true});linkSync(from,to);} +function overlayTree(from,to){for(const entry of readdirSync(from,{withFileTypes:true})){const a=join(from,entry.name),b=join(to,entry.name);if(entry.isDirectory())overlayTree(a,b);else if(entry.isFile())overlay(readFileSync(a),b);else throw Error('REFUSE·sample non-file implementation member');}} +export async function publicInstrument(reader) { + const source=dirname(dirname(dirname(reader))),root=mkdtempSync(join(tmpdir(),'bound-public-instrument-')); + try { + const {ownLock,ownStore}=await import(pathToFileURL(join(source,'dist/observe/runner.js')).href); + const published=publicationOf(ownLock()); + overlayTree(join(source,'dist'),join(root,'dist')); + writeFileSync(join(root,'TARGET.bound'),published.join('\n')+'\n'); + overlay(readFileSync(join(source,'package.json')),join(root,'package.json')); + symlinkSync(join(source,'node_modules'),join(root,'node_modules'),'dir'); + const store=join(root,'.bound');mkdirSync(join(store,'ledger'),{recursive:true});mkdirSync(join(store,'cas/blobs'),{recursive:true}); + const wanted=new Set(published.map(parse).filter(p=>p.kind==='fact'&&p.value.fields.scope.startsWith('dep/')&&p.value.fields.value.includes(':')).map(p=>p.value.fields.value)); + for(const digest of wanted){const [algorithm,hex]=digest.split(':');const from=join(ownStore(),'cas/blobs',hex);// Preserve absence: the product CLI still resolves and refuses a missing named dependency if it asks for it. + if(!existsSync(from))continue;const bytes=readFileSync(from);if(createHash(algorithm).update(bytes).digest('hex')!==hex)throw Error('REFUSE·sample instrument blob mismatch '+digest);overlay(bytes,join(store,'cas/blobs',hex));} + const entry=join(root,'dist/cli/verb.js');if(!readFileSync(entry).equals(readFileSync(reader)))throw Error('REFUSE·sample instrument reader bytes differ'); + return {reader:entry,close:()=>rmSync(root,{recursive:true,force:true})}; + }catch(error){rmSync(root,{recursive:true,force:true});throw error;} +} diff --git a/tools/samples/run-archive.mjs b/tools/samples/run-archive.mjs new file mode 100644 index 0000000..9782d98 --- /dev/null +++ b/tools/samples/run-archive.mjs @@ -0,0 +1,41 @@ +import assert from 'node:assert/strict'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,cpSync,rmSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join,resolve} from 'node:path'; +import {createHash} from 'node:crypto'; +import {spawnSync} from 'node:child_process'; +const [yes,no]=process.argv.slice(2); +const profile=JSON.parse(readFileSync(yes,'utf8')),negative=JSON.parse(readFileSync(no,'utf8')); +assert.equal(profile.places.length,2);assert.equal(negative.cause,'digest-mismatch'); +const root=mkdtempSync(join(tmpdir(),'archive-conformance-')); +const hash=bytes=>createHash(profile.algorithm).update(bytes).digest('hex'); +const events=[]; +const run=(program,args,cwd)=>{ + const r=spawnSync(program,args,{cwd,encoding:'utf8',timeout:profile.timeoutMs,maxBuffer:profile.maxBytes}); + events.push({program,args,status:r.status,signal:r.signal,stdout:r.stdout,stderr:r.stderr}); + assert.equal(r.status,0,r.stderr||r.stdout||String(r.error));return r.stdout; +}; +const readVerified=(path,digest)=>{const bytes=readFileSync(path);if(hash(bytes)!==digest)throw Error('REFUSE·artifact digest-mismatch');return bytes;}; +try { + for(const place of profile.places){ + const source=join(root,place.name),consumer=join(root,place.name+'-consumer'),cache=join(root,place.name+'-cache');mkdirSync(source);mkdirSync(consumer); + const manifest={name:place.name,version:place.version,type:'module',files:Object.keys(place.files),bin:{sample:'entry.mjs'}}; + writeFileSync(join(source,'package.json'),JSON.stringify(manifest,null,2)+'\n'); + for(const[path,body]of Object.entries(place.files)){assert.ok(!path.startsWith('/')&&!path.split('/').includes('..'));writeFileSync(join(source,path),body);} + const report=JSON.parse(run(profile.packageProgram,['pack','--ignore-scripts','--json','--cache',cache],source))[0]; + const archive=join(source,report.filename),digest=hash(readFileSync(archive)); + // Both destinations receive this one archive, not another pack invocation. + const destinations=['forge','registry'].map(name=>join(root,place.name+'-'+name+'.tgz')); + for(const destination of destinations){cpSync(archive,destination);readVerified(destination,digest);} + writeFileSync(join(consumer,'package.json'),'{"private":true}\n'); + run(profile.packageProgram,['install','--offline','--ignore-scripts','--no-audit','--no-fund','--cache',cache,resolve(archive)],consumer); + const installed=join(consumer,'node_modules',place.name); + for(const member of report.files){assert.ok(!member.path.startsWith('/')&&!member.path.split('/').includes('..'));assert.ok(readFileSync(join(source,member.path)).equals(readFileSync(join(installed,member.path))),member.path);console.log('MEMBER '+place.name+'/'+member.path+' · '+profile.algorithm+':'+hash(readFileSync(join(installed,member.path))));} + const output=run(process.execPath,[join(installed,'entry.mjs')],consumer);assert.equal(output,place.stdout); + const corrupt=Buffer.from(readFileSync(archive));corrupt[negative.byteOffset]^=1;const refused=join(root,place.name+'-changed.tgz');writeFileSync(refused,corrupt); + assert.throws(()=>readVerified(refused,digest),/REFUSE·artifact digest-mismatch/); + console.log('ARCHIVE '+place.name+' · '+profile.algorithm+':'+digest+' · '+report.files.length+' members equal · one archive, two destinations'); + console.log('INSTALLED '+place.name+' · '+output.trim());console.log('REFUSE·artifact digest-mismatch · '+place.name); + } + console.log('ARTIFACT two unrelated places · installed bytes equal · changed bytes refused'); +} finally {rmSync(root,{recursive:true,force:true});} diff --git a/tools/samples/run-evidence.mjs b/tools/samples/run-evidence.mjs new file mode 100644 index 0000000..9c3c38d --- /dev/null +++ b/tools/samples/run-evidence.mjs @@ -0,0 +1,61 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,verify} from 'node:crypto'; +import {mkdtempSync,mkdirSync,readFileSync,writeFileSync,rmSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join} from 'node:path'; +import {spawnSync} from 'node:child_process'; +import {canonical,parse,signedBytes,parseSignature} from '@lapxo/topos/wire'; + +export function runEvidenceSample(reader, keyClass, negative, capture, options={}) { + const temp=mkdtempSync(join(tmpdir(),'bound-device-evidence-')),root=join(temp,'place'); + const devices=['north','south'].map(id=>({id,pair:generateKeyPairSync('ed25519'),key:join(temp,`${id}.pem`)})); + devices.push({id:'alias',pair:devices[1].pair,key:join(temp,'alias.pem')}); + const row=(scope,measure,value)=>canonical({scope,measure,value,form:'alphabet',role:'writes',at:'policy:evidence',by:'target'}); + const captures=[];const run=args=>{const started=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});captures.push({reader,args:args.map(arg=>arg.endsWith('.pem')?'[ephemeral key path]':arg),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-started});return p;}; + const rows=text=>text.split('\n').map(line=>parse(line)).filter(p=>p.kind==='fact').map(p=>p.value.fields); + try { + mkdirSync(root); + const seed=[row('wire/era','id','sample'),row('wire/signature-algorithms','id','ed25519:sample'),row('wire/digest-algorithms','id','sha256')]; + seed.push(canonical({scope:'view/evidence',role:'demands',form:'alphabet',measure:'id',value:'evidence@8',by:'target',at:'policy:evidence'})); + seed.push(row('keys/local-reader','class','read')); + if(keyClass==='attest'){seed.push(row('keys/local-fold','class','fold'),row('wire/receipt-fields','id','scope|role|form|measure|value|by|at'));if(!options.views)seed.push(canonical({scope:'view/receipts',role:'demands',form:'alphabet',measure:'id',value:'receipts@0',by:'target',at:'policy:evidence'}));} + for(const [name,value] of [['fields','scope|role|form|measure|value|by|at|epoch|sig'],['required','scope|role|form|measure|value|by|at'],['forms','alphabet|interval'],['roles','reads|writes|demands'],['at-classes','policy|place|origin|witness|receipt'],['families','keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region']])seed.push(row(`wire/${name}`,'id',value)); + for(const d of devices){writeFileSync(d.key,d.pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600});seed.push(row(`keys/${d.id}`,'class',d.id==='north'?'authorize':keyClass),row(`keys/${d.id}`,'coverage',d.id==='north'?'*':keyClass==='attest'?`sample/${d.id}|receipts`:`sample/${d.id}`),row(`keys/${d.id}`,'public-key',d.pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row(`keys/${d.id}`,'signer','file'),canonical({scope:`keys/${d.id}`,role:'writes',form:'interval',measure:'resolution',value:'1..16',by:'target',at:'policy:evidence'}));} + seed.push(canonical({scope:'signer/timeout',form:'interval',measure:'milliseconds',value:'5000..5000',role:'writes',at:'policy:evidence',by:'target'}),canonical({scope:'signer/response-bytes',form:'interval',measure:'bytes',value:'65536..65536',role:'writes',at:'policy:evidence',by:'target'})); + seed.push(...(options.lines??[])); + writeFileSync(join(root,'TARGET.bound'),[...new Set(seed)].join('\n')+'\n'); + const boot=run(['land','--key','north','--key-file',devices[0].key]);assert.equal(boot.status,0,boot.stderr); + const signed=[]; + for(const d of devices){const lot=join(temp,`${d.id}.proposal`);writeFileSync(lot,row(`sample/${d.id}`,'observed',`evidence-${d.id}`)+'\n');const sign=run(['sign',lot,'--key',d.id,'--key-file',d.key]);assert.equal(sign.status,0,sign.stderr);const text=sign.stdout.split('\n').filter(line=>parse(line).kind==='fact').join('\n')+'\n';signed.push(text);writeFileSync(lot,text);const land=run(['land',lot]);assert.equal(land.status,0,land.stderr);} + // Re-deliver the retained first signed lot after later deliveries: one identity test per key class. + const replay=run(['land',join(temp,devices[0].id+'.proposal')]);assert.equal(replay.status,0,replay.stderr);assert.match(replay.stdout,/ONCE/); + if(keyClass==='authorize'){const summary=run(['fold']);assert.equal(summary.status,0,summary.stderr);assert.match(summary.stdout,/PROGRAMS .*readings · no encounters computed/);assert.doesNotMatch(summary.stdout,/^PROGRAMS .*\b(?:REQUIRED|FREE|CONFLICT|FORBIDDEN) \d+/m,'file summary must not report object states without an object encounter');} + const view=run(['fold','--as',keyClass==='attest'?'evidence':'lines']);assert.equal(view.status,0,view.stderr); + for(const d of devices){const facts=rows(view.stdout).filter(f=>f.scope===`sample/${d.id}`);assert.equal(facts.length,1);const f=facts[0],sig=parseSignature(f.sig);assert.ok(sig);assert.equal(f.by,d.id);assert.equal(verify(null,Buffer.from(signedBytes(f)),d.pair.publicKey,Buffer.from(sig.raw,'base64')),true);} + if(keyClass==='attest'){ + const native=run(['fold','--as','receipts@0']);assert.equal(native.status,0,native.stderr); + const receipt=rows(native.stdout).find(f=>f.scope==='receipts'&&f.measure==='digest');assert.ok(receipt,'native fold supplies the receipt identity'); + const {sig,epoch,by,...body}=receipt; + const file=join(temp,'native-receipt.proposal');writeFileSync(file,canonical({...body,by:'target'})+'\n'); + const signedReceipt=run(['sign',file,'--key','south','--key-file',devices[1].key]);assert.equal(signedReceipt.status,0,signedReceipt.stderr); + writeFileSync(file,signedReceipt.stdout.split('\n').filter(line=>parse(line).kind==='fact').join('\n')+'\n'); + const receiptLand=run(['land',file]);assert.equal(receiptLand.status,0,receiptLand.stderr); + const receiptReplay=run(['land',file]);assert.equal(receiptReplay.status,0,receiptReplay.stderr);assert.match(receiptReplay.stdout,/ONCE/); + const delivered=run(['fold','--as','evidence']);assert.equal(delivered.status,0,delivered.stderr); + const attested=rows(delivered.stdout).find(f=>f.scope==='receipts'&&f.by==='south'&&f.value===receipt.value);assert.ok(attested,'admitted attest receipt is visible by its actual native digest'); + const signature=parseSignature(attested.sig);assert.ok(signature);assert.equal(verify(null,Buffer.from(signedBytes(attested)),devices[1].pair.publicKey,Buffer.from(signature.raw,'base64')),true); + } + if(options.views){ + const help=run(['fold','--as','help']);assert.equal(help.status,0,help.stderr);assert.match(help.stdout,/verbs fold land sign/); + const receipts=run(['fold','--as','receipts']);assert.equal(receipts.status,0,receipts.stderr);assert.ok(rows(receipts.stdout).some(f=>f.scope==='receipts'&&f.measure==='digest'),'native receipt view identifies its actual observed set'); + const missing=run(['fold','--as',negative.missingView]);assert.equal(missing.status,1,missing.stderr);assert.match(missing.stderr,/REFUSE·view/); + } + const uncovered=join(temp,'uncovered.proposal');writeFileSync(uncovered,row(negative.uncovered.scope,'observed',negative.uncovered.value)+'\n');const denied=run(['sign',uncovered,'--key','south','--key-file',devices[1].key]);assert.equal(denied.status,1);assert.match(denied.stderr,/REFUSE·signer south uncovered/); + const tampered=join(temp,'altered.bound');writeFileSync(tampered,signed[1].replace('evidence-south',negative.tamperedValue));const bad=run(['land',tampered]);assert.equal(bad.status,1);assert.match(bad.stderr,/REFUSE·signed/); + const f=rows(signed[0])[0],{sig,epoch,by,...selector}=f; + const withdraw=join(temp,'withdraw.proposal');writeFileSync(withdraw,canonical({...selector,value:'withdraw',by:'target'})+'\n');const taken=run(['land',withdraw,'--key','north','--key-file',devices[0].key]);assert.equal(taken.status,0,taken.stderr); + const after=run(['fold','--as','lines']);assert.equal(after.status,0,after.stderr);assert.equal(rows(after.stdout).filter(f=>f.scope==='sample/north'&&f.value!=='withdraw').length,0);if(keyClass!=='attest'){assert.equal(rows(after.stdout).filter(f=>f.scope==='sample/south').length,1);assert.equal(rows(after.stdout).filter(f=>f.scope==='sample/alias').length,1);}else{assert.equal(rows(after.stdout).filter(f=>f.scope==='sample/south').length,0,'evidence does not become normative standing');}assert.deepEqual(devices[1].pair.publicKey.export({type:'spki',format:'der'}),devices[2].pair.publicKey.export({type:'spki',format:'der'})); + return captures; + }finally {if(capture)writeFileSync(capture,JSON.stringify(captures,null,2)+'\n');rmSync(temp,{recursive:true,force:true});} +} + diff --git a/tools/samples/run-historical-build.mjs b/tools/samples/run-historical-build.mjs new file mode 100644 index 0000000..8f000bf --- /dev/null +++ b/tools/samples/run-historical-build.mjs @@ -0,0 +1,43 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {mkdtempSync,mkdirSync,readFileSync,writeFileSync,rmSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {spawnSync,execFileSync} from 'node:child_process'; +import {canonical} from '@lapxo/topos/wire'; +import {standingBytes} from '@lapxo/topos/standing'; + +/** Byte-fixed historical profile fixture, never a document parser in Bound. */ +export function runHistoricalBuild(reader,positive,negative,selectedPlace) { + const temp=mkdtempSync(join(tmpdir(),'bound-build-')),events=[]; + const sha=b=>'sha256:'+createHash('sha256').update(b).digest('hex'); + const row=(scope,measure,value,extra={})=>canonical({scope,measure,value,form:'alphabet',role:'writes',at:'policy:historical-sample',by:'target',...extra}); + try { + assert.equal(sha(positive.providerSource),positive.providerDigest); + assert.equal(positive.places.length,2); + if(selectedPlace!==undefined)assert.ok(positive.places.some(p=>p.name===selectedPlace)); + const world=join(temp,'provider');mkdirSync(world);writeFileSync(join(world,'index.cjs'),positive.providerSource);writeFileSync(join(world,'package.json'),'{"type":"module"}\n'); + writeFileSync(join(world,'capsule.bound'),positive.regions.map(r=>row('region/'+r.name,'reads',r.reads,{role:'render'})).join('\n')+'\n'); + const archive=join(temp,'profile.tgz');execFileSync('tar',['-czf',archive,'-C',world,'capsule.bound','index.cjs','package.json']);const bytes=readFileSync(archive),artifact=sha(bytes); + const standing=standingBytes([row('region/world','reads','offers/**'),row('offers/document','digest',artifact,{kind:'capsule',restsOn:artifact})]),pin=sha(standing); + for(const place of positive.places.filter(p=>selectedPlace===undefined||p.name===selectedPlace)) { + const root=join(temp,place.name);mkdirSync(root);mkdirSync(join(root,'docs')); + const pair=generateKeyPairSync('ed25519'),key=join(temp,place.name+'.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const seed=positive.wire.map(([n,v])=>row('wire/'+n,'id',v)); + seed.push(row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/device','resolution','1..16',{form:'interval'}),row('keys/reader','class','read'),row('keys/fold','class','fold'),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'}),row('reader/timeout','milliseconds','30000..30000',{form:'interval'}),row('reader/response-bytes','bytes','67108864..67108864',{form:'interval'}),row('reader/inputs','id','required'),row('reader/empty','id','refuse'),row('uses/historical','digest',pin),row('dep/historical','digest',artifact,{shape:'index.cjs'})); + seed.push(...Object.entries(place.options).map(([name,value])=>row('build/'+name,'id',value,{shape:'tsconfig.json'})),row('view/tsconfig','id','build',{role:'demands',shape:'tsconfig.json',needs:'tsconfig.json'})); + writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n');const cas=join(root,'.bound/cas/blobs');mkdirSync(cas,{recursive:true});writeFileSync(join(cas,pin.split(':')[1]),standing);writeFileSync(join(cas,artifact.split(':')[1]),bytes); + const run=args=>{const start=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});events.push({place:place.name,args:args.map(a=>a===key?'[ephemeral key]':a),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-start});return p;}; + const boot=run(['land','--key','device','--key-file',key]);assert.equal(boot.status,0,boot.stderr); + const expected={compilerOptions:Object.fromEntries(Object.entries(place.options).filter(([n])=>n!=='include').map(([n,v])=>[n,v==='true'?true:v==='false'?false:v])),include:place.options.include.split('|')}; + let first; + for(let reading=0;reading<2;reading++){ + const answer=run(['fold','--as','tsconfig']);assert.equal(answer.status,0,answer.stderr); + const bytes=readFileSync(join(root,'tsconfig.json'),'utf8');assert.deepEqual(JSON.parse(bytes),expected); + if(first){assert.equal(bytes,first.bytes);assert.equal(answer.stdout,first.stdout);}else first={bytes,stdout:answer.stdout}; + } + const missing=join(temp,place.name+'-missing.proposal');writeFileSync(missing,row('view/'+negative.view,'id',negative.region,{role:'demands'})+'\n');const admitted=run(['land',missing,'--key','device','--key-file',key]);assert.equal(admitted.status,0,admitted.stderr);const refused=run(['fold','--as',negative.view]);assert.equal(refused.status,1,refused.stderr);assert.match(refused.stderr,/REFUSE·view/);assert.ok(refused.stderr.includes(negative.view)); + } + return events; + } finally {rmSync(temp,{recursive:true,force:true});} +} diff --git a/tools/samples/run-historical-document-views.mjs b/tools/samples/run-historical-document-views.mjs new file mode 100644 index 0000000..c577cfe --- /dev/null +++ b/tools/samples/run-historical-document-views.mjs @@ -0,0 +1,56 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {mkdtempSync,mkdirSync,readFileSync,writeFileSync,rmSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {spawnSync,execFileSync} from 'node:child_process'; +import {canonical} from '@lapxo/topos/wire'; +import {standingBytes} from '@lapxo/topos/standing'; + +/** Byte-fixed historical profile fixture, never a document parser in Bound. */ +export function runHistoricalDocumentViews(reader,positive,negative,selectedPlace) { + const temp=mkdtempSync(join(tmpdir(),'bound-historical-')),events=[]; + const sha=b=>'sha256:'+createHash('sha256').update(b).digest('hex'); + const row=(scope,measure,value,extra={})=>canonical({scope,measure,value,form:'alphabet',role:'writes',at:'policy:historical-sample',by:'target',...extra}); + try { + assert.equal(sha(positive.providerSource),positive.providerDigest); + assert.equal(positive.places.length,2); + if(selectedPlace!==undefined)assert.ok(positive.places.some(p=>p.name===selectedPlace)); + const world=join(temp,'provider');mkdirSync(world);writeFileSync(join(world,'index.mjs'),positive.providerSource);writeFileSync(join(world,'package.json'),'{"type":"module"}\n'); + writeFileSync(join(world,'capsule.bound'),positive.regions.map(r=>row('region/'+r.name,'reads',r.reads,{role:'render'})).join('\n')+'\n'); + const archive=join(temp,'profile.tgz');execFileSync('tar',['-czf',archive,'-C',world,'capsule.bound','index.mjs','package.json']);const bytes=readFileSync(archive),artifact=sha(bytes); + const build=positive.buildProvider;assert.equal(sha(build.providerSource),build.providerDigest); + const buildWorld=join(temp,'build-provider');mkdirSync(buildWorld);writeFileSync(join(buildWorld,'index.cjs'),build.providerSource);writeFileSync(join(buildWorld,'package.json'),'{"type":"commonjs"}\n'); + writeFileSync(join(buildWorld,'capsule.bound'),build.regions.map(r=>row('region/'+r.name,'reads',r.reads,{role:'render'})).join('\n')+'\n'); + const buildArchive=join(temp,'build.tgz');execFileSync('tar',['-czf',buildArchive,'-C',buildWorld,'capsule.bound','index.cjs','package.json']);const buildBytes=readFileSync(buildArchive),buildArtifact=sha(buildBytes); + const prose=positive.proseProvider;assert.equal(sha(prose.providerSource),prose.providerDigest);const proseWorld=join(temp,'prose-provider');mkdirSync(proseWorld);writeFileSync(join(proseWorld,'provider.mjs'),prose.providerSource);writeFileSync(join(proseWorld,'package.json'),'\x7b"type":"module"\x7d\n');writeFileSync(join(proseWorld,'capsule.bound'),row('region/text','reads','prose/**',{role:'render'})+'\n');const proseArchive=join(temp,'prose.tgz');execFileSync('tar',['-czf',proseArchive,'-C',proseWorld,'capsule.bound','provider.mjs','package.json']);const proseBytes=readFileSync(proseArchive),proseArtifact=sha(proseBytes); + const standing=standingBytes([row('region/world','reads','offers/**'),row('offers/document','digest',artifact,{kind:'capsule',restsOn:artifact}),row('offers/build','digest',buildArtifact,{kind:'capsule',restsOn:buildArtifact}),row('offers/prose','digest',proseArtifact,{kind:'capsule',restsOn:proseArtifact})]),pin=sha(standing); + for(const place of positive.places.filter(p=>selectedPlace===undefined||p.name===selectedPlace)) { + const root=join(temp,place.name);mkdirSync(root);mkdirSync(join(root,'docs')); + const pair=generateKeyPairSync('ed25519'),key=join(temp,place.name+'.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const seed=positive.wire.map(([n,v])=>row('wire/'+n,'id',v)); + seed.push(row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/device','resolution','1..16',{form:'interval'}),row('keys/reader','class','read'),row('keys/fold','class','fold'),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'}),row('reader/timeout','milliseconds','30000..30000',{form:'interval'}),row('reader/response-bytes','bytes','67108864..67108864',{form:'interval'}),row('reader/inputs','id','required'),row('reader/empty','id','refuse'),row('uses/historical','digest',pin),row('dep/historical','digest',artifact,{shape:'index.mjs'})); + seed.push(row('dep/build','digest',buildArtifact,{shape:'index.cjs'}),...Object.entries(place.buildOptions).map(([name,value])=>row('build/'+name,'id',value,{shape:'tsconfig.json'})),row('view/tsconfig','id','build',{role:'demands',shape:'tsconfig.json',needs:'tsconfig.json'})); + seed.push(row('name','id',place.name),row('version','id',place.version),row('license','id','MIT'),row('lang','id','en'),row('form/page/statement','id','3'),row('form/template/cff/name','id','name'),row('prose/en/cff/name','text','lock',{about:'Cite {name}.'}),row('term/item','id',place.term,{about:place.meaning}),row('page/seq/heading','text','lock',{about:place.heading}),...place.steps.map((step,i)=>row('page/seq/step-'+i,'text','lock',{about:step})),row('view/citation-file','id','cff@3',{role:'demands',shape:'CITATION.cff',needs:'CITATION.cff'}),row('view/guide','id','seq@3',{role:'demands',shape:'docs/guide.md',needs:'docs/guide.md'}),row('view/reference','id','term@3|set@3|ref@3',{role:'demands',shape:'docs/reference.md',needs:'docs/reference.md'})); + seed.push(row('form/prose/en/sentence','id','capital|period'),row('docs/tagline','text','lock',{about:place.tagline}),row('prose/en/idea/heading','text','lock',{about:place.ideaHeading}),row('prose/en/idea','text','lock',{about:place.idea}),row('view/explanation','id','idea|what-holds|refuses',{role:'demands',shape:'docs/why.md',needs:'docs/why.md'}),row('view/readme-historical','id','hero@3|commands@3|idea@3',{role:'demands',shape:'README.md',needs:'README.md'})); + seed.push(row('dep/prose','digest',proseArtifact,{shape:'provider.mjs'}));for(const output of place.outputs)seed.push(row('prose/'+output.view,'text','lock',{shape:output.path,about:output.body}),row('view/'+output.view,'id','text@3',{role:'demands',shape:output.path,needs:output.path})); + writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n');const cas=join(root,'.bound/cas/blobs');mkdirSync(cas,{recursive:true});writeFileSync(join(cas,pin.split(':')[1]),standing);writeFileSync(join(cas,artifact.split(':')[1]),bytes);writeFileSync(join(cas,buildArtifact.split(':')[1]),buildBytes);writeFileSync(join(cas,proseArtifact.split(':')[1]),proseBytes); + const run=args=>{const start=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});events.push({place:place.name,args:args.map(a=>a===key?'[ephemeral key]':a),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-start});return p;}; + const boot=run(['land','--key','device','--key-file',key]);assert.equal(boot.status,0,boot.stderr); + const first=run(['fold']);assert.equal(first.status,0,first.stderr);const before=new Map(['CITATION.cff','docs/guide.md','docs/reference.md','tsconfig.json','docs/why.md','README.md',...place.outputs.map(o=>o.path)].map(path=>[path,readFileSync(join(root,path),'utf8')]));const second=run(['fold']);assert.equal(second.status,0,second.stderr);assert.match(second.stdout,/9 renders · 9 same/);for(const [path,body]of before)assert.equal(readFileSync(join(root,path),'utf8'),body); + const expected={'citation-file':`cff-version: 1.2.0\nmessage: "Cite ${place.name}."\ntype: software\ntitle: "${place.name}"\nversion: "${place.version}"\nlicense: "MIT"\n`,'guide':`## ${place.heading}\n\n${place.steps.map((s,i)=>`${i+1}. ${s}`).join('\n')}\n`}; + for(const [view,path]of [['citation-file','CITATION.cff'],['guide','docs/guide.md'],['reference','docs/reference.md']]) { + const a=run(['fold','--as',view]);assert.equal(a.status,0,a.stderr);const rendered=readFileSync(join(root,path),'utf8'); + if(expected[view]!==undefined)assert.equal(rendered,expected[view]);else {assert.ok(rendered.includes(`**${place.term}** — ${place.meaning}`));assert.match(rendered,/\| pin \| historical \|/);assert.match(rendered,/\[guide\]\(guide.md\)/);} + } + const buildExpected={compilerOptions:Object.fromEntries(Object.entries(place.buildOptions).filter(([n])=>n!=='include').map(([n,v])=>[n,v==='true'?true:v==='false'?false:v])),include:place.buildOptions.include.split('|')}; + const buildFirst=run(['fold','--as','tsconfig']);assert.equal(buildFirst.status,0,buildFirst.stderr);const buildText=readFileSync(join(root,'tsconfig.json'),'utf8');assert.deepEqual(JSON.parse(buildText),buildExpected); + assert.equal(readFileSync(join(root,'tsconfig.json'),'utf8'),before.get('tsconfig.json')); + const why=`## ${place.ideaHeading}\n\n${place.idea}\n`;assert.equal(readFileSync(join(root,'docs/why.md'),'utf8'),why);const readme=readFileSync(join(root,'README.md'),'utf8');assert.equal(readme.trim().split(/\n+/).join('\n'),`# ${place.name}\n${place.tagline}\n## ${place.ideaHeading}\n${place.idea}`);for(const [view,path]of [['explanation','docs/why.md'],['readme-historical','README.md']]){const got=run(['fold','--as',view]);assert.equal(got.status,0,got.stderr);assert.equal(readFileSync(join(root,path),'utf8'),before.get(path));} + for(const output of place.outputs)assert.equal(readFileSync(join(root,output.path),'utf8'),output.body); + const missing=join(temp,place.name+'-missing.proposal');writeFileSync(missing,row('view/'+negative.view,'id',negative.region,{role:'demands'})+'\n');const admitted=run(['land',missing,'--key','device','--key-file',key]);assert.equal(admitted.status,0,admitted.stderr);const refused=run(['fold','--as',negative.view]);assert.equal(refused.status,1,refused.stderr);assert.match(refused.stderr,/REFUSE·view/);assert.ok(refused.stderr.includes(negative.view)); const conflict=negative.conflict,disagreement=join(temp,place.name+'-disagreement.proposal');writeFileSync(disagreement,[...conflict.bodies.map((body,i)=>row('prose/disagreement-'+i,'text','lock',{shape:conflict.path,about:body})),row('view/disagreement','id','text@3',{role:'demands',shape:conflict.path,needs:conflict.path})].join('\n')+'\n');const conflictLand=run(['land',disagreement,'--key','device','--key-file',key]);assert.equal(conflictLand.status,0,conflictLand.stderr);const conflictFold=run(['fold','--as','disagreement']);assert.equal(conflictFold.status,1,conflictFold.stderr);assert.match(conflictFold.stderr,/REFUSE·view conflicting prose/);for(const [path,body]of before)assert.equal(readFileSync(join(root,path),'utf8'),body); + + } + return events; + } catch(error){const last=events.at(-1);if(last)process.stderr.write('SAMPLE failure '+JSON.stringify(last)+'\n');throw error;}finally{rmSync(temp,{recursive:true,force:true});} +} diff --git a/tools/samples/run-historical-presentation.mjs b/tools/samples/run-historical-presentation.mjs new file mode 100644 index 0000000..68431f1 --- /dev/null +++ b/tools/samples/run-historical-presentation.mjs @@ -0,0 +1,41 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {mkdtempSync,mkdirSync,readFileSync,writeFileSync,rmSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {spawnSync,execFileSync} from 'node:child_process'; +import {canonical} from '@lapxo/topos/wire'; +import {standingBytes} from '@lapxo/topos/standing'; + +/** Byte-fixed historical profile fixture, never a document parser in Bound. */ +export function runHistoricalPresentationViews(reader,positive,negative,selectedPlace) { + const temp=mkdtempSync(join(tmpdir(),'bound-historical-')),events=[]; + const sha=b=>'sha256:'+createHash('sha256').update(b).digest('hex'); + const row=(scope,measure,value,extra={})=>canonical({scope,measure,value,form:'alphabet',role:'writes',at:'policy:historical-sample',by:'target',...extra}); + try { + assert.equal(sha(positive.providerSource),positive.providerDigest); + assert.equal(positive.places.length,2); + if(selectedPlace!==undefined)assert.ok(positive.places.some(p=>p.name===selectedPlace)); + const world=join(temp,'provider');mkdirSync(world);writeFileSync(join(world,'index.mjs'),positive.providerSource);writeFileSync(join(world,'package.json'),'{"type":"module"}\n'); + writeFileSync(join(world,'capsule.bound'),positive.regions.map(r=>row('region/'+r.name,'reads',r.reads,{role:'render'})).join('\n')+'\n'); + const archive=join(temp,'profile.tgz');execFileSync('tar',['-czf',archive,'-C',world,'capsule.bound','index.mjs','package.json']);const bytes=readFileSync(archive),artifact=sha(bytes); + const standing=standingBytes([row('region/world','reads','offers/**'),row('offers/document','digest',artifact,{kind:'capsule',restsOn:artifact})]),pin=sha(standing); + for(const place of positive.places.filter(p=>selectedPlace===undefined||p.name===selectedPlace)) { + const root=join(temp,place.name);mkdirSync(root);mkdirSync(join(root,'docs')); + const pair=generateKeyPairSync('ed25519'),key=join(temp,place.name+'.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const seed=positive.wire.map(([n,v])=>row('wire/'+n,'id',v)); + seed.push(row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/device','resolution','1..16',{form:'interval'}),row('keys/reader','class','read'),row('keys/fold','class','fold'),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'}),row('reader/timeout','milliseconds','30000..30000',{form:'interval'}),row('reader/response-bytes','bytes','67108864..67108864',{form:'interval'}),row('reader/inputs','id','required'),row('reader/empty','id','refuse'),row('uses/historical','digest',pin),row('dep/historical','digest',artifact,{shape:'index.mjs'})); + seed.push(row('name','id',place.name),row('lang','id','en'),row('form/page/statement','id','3'),row('form/prose/en/sentence','id','capital|period'),row('docs/tagline','text','lock',{about:place.tagline}),row('prose/en/idea/heading','text','lock',{about:place.heading}),row('prose/en/idea','text','lock',{about:place.idea}),row('view/explanation','id','idea|what-holds|refuses',{role:'demands',shape:'docs/why.md',needs:'docs/why.md'}),row('view/readme-historical','id','hero@3|commands@3|idea@3',{role:'demands',shape:'README.md',needs:'README.md'})); + writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n');const cas=join(root,'.bound/cas/blobs');mkdirSync(cas,{recursive:true});writeFileSync(join(cas,pin.split(':')[1]),standing);writeFileSync(join(cas,artifact.split(':')[1]),bytes); + const run=args=>{const start=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});events.push({place:place.name,args:args.map(a=>a===key?'[ephemeral key]':a),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-start});return p;}; + const boot=run(['land','--key','device','--key-file',key]);assert.equal(boot.status,0,boot.stderr); + const why=`## ${place.heading}\n\n${place.idea}\n`; + const first=run(['fold']);assert.equal(first.status,0,first.stderr);const before=new Map(['docs/why.md','README.md'].map(path=>[path,readFileSync(join(root,path),'utf8')]));const second=run(['fold']);assert.equal(second.status,0,second.stderr);assert.match(second.stdout,/2 renders · 2 same/);for(const [path,body]of before)assert.equal(readFileSync(join(root,path),'utf8'),body); + assert.equal(readFileSync(join(root,'docs/why.md'),'utf8'),why); + const readme=readFileSync(join(root,'README.md'),'utf8');assert.equal(readme.trim().split(/\n+/).join('\n'),`# ${place.name}\n${place.tagline}\n## ${place.heading}\n${place.idea}`); + for(const [view,path,body]of [['explanation','docs/why.md',why],['readme-historical','README.md',readme]]){const got=run(['fold','--as',view]);assert.equal(got.status,0,got.stderr);assert.equal(readFileSync(join(root,path),'utf8'),body);} + const missing=join(temp,place.name+'-missing.proposal');writeFileSync(missing,row('view/'+negative.view,'id',negative.region,{role:'demands'})+'\n');const admitted=run(['land',missing,'--key','device','--key-file',key]);assert.equal(admitted.status,0,admitted.stderr);const refused=run(['fold','--as',negative.view]);assert.equal(refused.status,1,refused.stderr);assert.match(refused.stderr,/REFUSE·view/);assert.ok(refused.stderr.includes(negative.view)); + } + return events; + } finally {rmSync(temp,{recursive:true,force:true});} +} diff --git a/tools/samples/run-program-views.mjs b/tools/samples/run-program-views.mjs new file mode 100644 index 0000000..73bd066 --- /dev/null +++ b/tools/samples/run-program-views.mjs @@ -0,0 +1,52 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {mkdtempSync,mkdirSync,readFileSync,writeFileSync,rmSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {fileURLToPath} from 'node:url'; +import {spawnSync,execFileSync} from 'node:child_process'; +import {canonical} from '@lapxo/topos/wire'; +import {standingBytes} from '@lapxo/topos/standing'; +import {moduleClosure} from './module-closure.mjs'; + +/** The selected SDK projects declared demands; this sample implements no program algebra. */ +export function runProgramViews(reader,positive,negative,selectedPlace) { + const temp=mkdtempSync(join(tmpdir(),'bound-program-sample-')),events=[]; + const digest=b=>'sha256:'+createHash('sha256').update(b).digest('hex'); + const row=(scope,measure,value,more={})=>canonical({scope,measure,value,role:'writes',form:'alphabet',by:'target',at:'policy:sample',...more}); + try { + const sdk=new URL(positive.providerMember,new URL('./',import.meta.resolve('@lapxo/topos/package.json'))); + assert.equal(digest(readFileSync(sdk)),positive.providerDigest,'published provider member must match its named bytes'); + const world=join(temp,'provider');mkdirSync(world); + const wrapper=join(world,'entry.mjs');writeFileSync(wrapper,`import {renderPrograms} from ${JSON.stringify(fileURLToPath(sdk))};export const render=asked=>renderPrograms(asked);`); + const closure=moduleClosure(new URL('file://'+wrapper)); + for(const[d,b]of closure.blobs)writeFileSync(join(world,d.split(':')[1]),b); + writeFileSync(join(world,'package.json'),'{"type":"module"}\n'); + writeFileSync(join(world,'capsule.bound'),['demand-status','demand-card'].map(n=>row('region/'+n,'reads','**|region/proofs',{role:'render'})).join('\n')+'\n'); + const archive=join(temp,'provider.tgz');execFileSync('tar',['-czf',archive,'-C',world,'capsule.bound','package.json',...[...closure.blobs.keys()].map(d=>d.split(':')[1])]);const bytes=readFileSync(archive),artifact=digest(bytes); + const selectors={profile:'admitted-demands@1',selection:'tasks/selection',minimum:'tasks/minimum',evidence:'proofs',elapsed:'clock/elapsed',ceiling:'clock/ceiling'}; + const standing=standingBytes([row('region/world','reads','wire/**|offers/**'),row('wire/provider-inputs','id','standing-projection@1'),...Object.entries(selectors).map(([n,v])=>row('wire/programs/'+n,'id',v)),row('offers/programs','digest',artifact,{kind:'capsule',restsOn:artifact}),...['demand-status','demand-card'].map(n=>row('offers/programs/inputs/'+n,'reads','wire/programs/**',{role:'demands'}))]),pin=digest(standing); + assert.equal(positive.places.length,2); + if(selectedPlace!==undefined)assert.ok(positive.places.some(p=>p.name===selectedPlace)); + for(const place of positive.places.filter(p=>selectedPlace===undefined||p.name===selectedPlace)){ + const root=join(temp,place.name);mkdirSync(root);const pair=generateKeyPairSync('ed25519'),key=join(temp,place.name+'.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const [first,last]=place.steps; + const seed=positive.wire.map(([n,v])=>row('wire/'+n,'id',v)); + seed.push(row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/device','resolution','1..16',{form:'interval'}),row('keys/reader','class','read'),row('keys/fold','class','fold'),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'}),row('reader/timeout','milliseconds','30000..30000',{form:'interval'}),row('reader/response-bytes','bytes','67108864..67108864',{form:'interval'}),row('reader/inputs','id','required'),row('reader/empty','id','refuse'),row('uses/programs','digest',pin),row('dep/programs','digest',artifact,{shape:closure.digest.split(':')[1]}),row('view/programs','id','demand-status@8',{role:'demands'}),row('view/card','id','demand-card@8',{role:'demands'}),row('region/proofs','receipts','proof/**'),row('tasks/selection','id',`tasks/${first}|tasks/${last}`),row('tasks/minimum','id',`tasks/${first}|tasks/${last}`),row('tasks/'+first,'status','present',{role:'demands',needs:'proof/'+first}),row('tasks/'+last,'status','present',{role:'demands',needs:'proof/'+last,restsOn:'tasks/'+first}),row('clock/ceiling','days','0..14',{role:'demands',form:'interval'})); + const lay=place=>{mkdirSync(join(place,'.bound/cas/blobs'),{recursive:true});writeFileSync(join(place,'.bound/cas/blobs',pin.split(':')[1]),standing);writeFileSync(join(place,'.bound/cas/blobs',artifact.split(':')[1]),bytes);};lay(root); + writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n'); + const run=(root,args)=>{const start=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});events.push({place:place.name,args:args.map(a=>a===key?'[ephemeral key]':a),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-start});return p;}; + const boot=run(root,['land','--key','device','--key-file',key]);assert.equal(boot.status,0,boot.stderr); + for(const view of ['programs','card']){ + const a=run(root,['fold','--as',view]),b=run(root,['fold','--as',view]);assert.equal(a.status,0,a.stderr);assert.equal(b.status,0,b.stderr);assert.equal(a.stdout,b.stdout); + assert.match(a.stdout,/PROGRAM deadline=unread closed=false/);assert.ok(a.stdout.includes('DEMAND tasks/'+first+' unread'));assert.ok(a.stdout.includes('DEMAND tasks/'+last+' blocked'));assert.ok(a.stdout.includes('NEXT tasks/'+first));assert.ok(!a.stdout.includes('NEXT tasks/'+last));assert.doesNotMatch(a.stdout,/CELL |\bFREE\b/); + } + assert.equal(negative.cycle,true); + const cyclic=join(temp,place.name+'-cycle');mkdirSync(cyclic);lay(cyclic); + const cycle=seed.map(line=>line.includes('scope=tasks/'+first+' ')?canonical({scope:'tasks/'+first,measure:'status',value:'present',role:'demands',form:'alphabet',by:'target',at:'policy:sample',needs:'proof/'+first,restsOn:'tasks/'+last}):line); + writeFileSync(join(cyclic,'TARGET.bound'),cycle.join('\n')+'\n');const cb=run(cyclic,['land','--key','device','--key-file',key]);assert.equal(cb.status,0,cb.stderr); + for(const view of ['programs','card']){const bad=run(cyclic,['fold','--as',view]);assert.equal(bad.status,1,bad.stderr);assert.match(bad.stderr,/dependency cycle/);} + } + return events; + } catch(error){const last=events.at(-1);if(last)process.stderr.write('SAMPLE failure '+JSON.stringify(last)+'\n');throw error;}finally{rmSync(temp,{recursive:true,force:true});} +} diff --git a/tools/samples/run-prose-views.mjs b/tools/samples/run-prose-views.mjs new file mode 100644 index 0000000..03078d0 --- /dev/null +++ b/tools/samples/run-prose-views.mjs @@ -0,0 +1,48 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,rmSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {spawnSync,execFileSync} from 'node:child_process'; +import {canonical} from '@lapxo/topos/wire'; +import {standingBytes} from '@lapxo/topos/standing'; + +/** The sample offers exact admitted prose implementation bytes; an archive is not standing identity. */ +export function runProseViews(reader,positive,negative,selectedPlace) { + const temp=mkdtempSync(join(tmpdir(),'bound-prose-sample-')),events=[]; + const digest=bytes=>'sha256:'+createHash('sha256').update(bytes).digest('hex'); + const row=(scope,measure,value,extra={})=>canonical({scope,measure,value,form:'alphabet',role:'writes',at:'policy:prose-sample',by:'target',...extra}); + try { + assert.equal(digest(positive.providerSource),positive.providerDigest); + const world=join(temp,'provider');mkdirSync(world); + writeFileSync(join(world,'provider.mjs'),positive.providerSource);writeFileSync(join(world,'package.json'),'{"type":"module"}\n'); + writeFileSync(join(world,'capsule.bound'),row('region/text','reads','prose/**',{role:'render'})+'\n'); + const archive=join(temp,'provider.tgz');execFileSync('tar',['-czf',archive,'-C',world,'capsule.bound','provider.mjs','package.json']); + const bytes=readFileSync(archive),artifact=digest(bytes),standing=standingBytes([row('region/world','reads','offers/**'),row('offers/prose','digest',artifact,{kind:'capsule',restsOn:artifact})]),pin=digest(standing); + assert.equal(positive.places.length,2); + if(selectedPlace!==undefined)assert.ok(positive.places.some(p=>p.name===selectedPlace)); + for(const place of positive.places.filter(p=>selectedPlace===undefined||p.name===selectedPlace)) { + const root=join(temp,place.name);mkdirSync(root); + const pair=generateKeyPairSync('ed25519'),key=join(temp,place.name+'.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const seed=positive.wire.map(([name,value])=>row('wire/'+name,'id',value)); + seed.push(row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/device','resolution','1..16',{form:'interval'}),row('keys/reader','class','read'),row('keys/fold','class','fold'),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'}),row('reader/timeout','milliseconds','30000..30000',{form:'interval'}),row('reader/response-bytes','bytes','67108864..67108864',{form:'interval'}),row('reader/inputs','id','required'),row('reader/empty','id','refuse'),row('uses/prose','digest',pin),row('dep/prose','digest',artifact,{shape:'provider.mjs'})); + for(const output of place.outputs)seed.push(row('prose/'+output.view,'text','lock',{shape:output.path,about:output.body}),row('view/'+output.view,'id','text@3',{role:'demands',shape:output.path,needs:output.path})); + writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n');const cas=join(root,'.bound/cas/blobs');mkdirSync(cas,{recursive:true});writeFileSync(join(cas,pin.split(':')[1]),standing);writeFileSync(join(cas,artifact.split(':')[1]),bytes); + const run=args=>{const start=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:30000});events.push({place:place.name,args:args.map(a=>a===key?'[ephemeral key]':a),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-start});return p;}; + const boot=run(['land','--key','device','--key-file',key]);assert.equal(boot.status,0,boot.stderr); + for(const output of place.outputs) { + const first=run(['fold','--as',output.view]);assert.equal(first.status,0,first.stderr); + assert.equal(readFileSync(join(root,output.path),'utf8'),output.body); + const second=run(['fold','--as',output.view]);assert.equal(second.status,0,second.stderr); + assert.equal(second.stdout,first.stdout); + assert.equal(readFileSync(join(root,output.path),'utf8'),output.body); + } + const disagreement=join(temp,place.name+'-disagreement.proposal'); + writeFileSync(disagreement,[...negative.bodies.map((body,i)=>row('prose/disagreement-'+i,'text','lock',{shape:negative.path,about:body})),row('view/disagreement','id','text@3',{role:'demands',shape:negative.path,needs:negative.path})].join('\n')+'\n'); + const admitted=run(['land',disagreement,'--key','device','--key-file',key]);assert.equal(admitted.status,0,admitted.stderr); + const refused=run(['fold','--as','disagreement']);assert.equal(refused.status,1,refused.stderr);assert.match(refused.stderr,/REFUSE·view conflicting prose/); + for(const output of place.outputs)assert.equal(readFileSync(join(root,output.path),'utf8'),output.body); + } + return events; + }finally{rmSync(temp,{recursive:true,force:true});} +} diff --git a/tools/samples/run-query-views.mjs b/tools/samples/run-query-views.mjs new file mode 100644 index 0000000..d717a7f --- /dev/null +++ b/tools/samples/run-query-views.mjs @@ -0,0 +1,31 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,rmSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {spawnSync} from 'node:child_process'; +import {canonical} from '@lapxo/topos/wire'; + +/** Published CLI sample: a coordinate is explained by its admitted declarations, not inferred from prose. */ +export function runQueryViews(reader,positive,negative) { + const temp=mkdtempSync(join(tmpdir(),'bound-query-')),events=[]; + const row=(scope,measure,value,extra={})=>canonical({scope,measure,value,form:'alphabet',role:'writes',at:'policy:query',by:'target',...extra}); + try { + assert.equal(positive.places.length,2); + for(const place of positive.places) { + const root=join(temp,place.name);mkdirSync(root); + const pair=generateKeyPairSync('ed25519'),key=join(temp,place.name+'.pem'); + writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const seed=positive.wire.map(([name,value])=>row('wire/'+name,'id',value)); + seed.push(row('keys/device','class','authorize'),row('keys/device','coverage','*'),row('keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/device','signer','file'),row('keys/reader','class','read'),row('keys/fold','class','fold'),row('keys/device','resolution','1..16',{form:'interval'}),row('signer/timeout','milliseconds','5000..5000',{form:'interval'}),row('signer/response-bytes','bytes','65536..65536',{form:'interval'})); + seed.push(row('view/why','id','why',{role:'demands'}),row(place.scope,'id',place.value,{needs:place.coordinate}),row('view/missing','id','not-offered',{role:'demands'})); + writeFileSync(join(root,place.coordinate),place.content);writeFileSync(join(root,'TARGET.bound'),seed.join('\n')+'\n'); + const run=args=>{const start=Date.now(),p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});events.push({place:place.name,args:args.map(a=>a===key?'[ephemeral key]':a),status:p.status,stdout:p.stdout,stderr:p.stderr,runtimeMs:Date.now()-start});return p;}; + const boot=run(['land','--key','device','--key-file',key]);assert.equal(boot.status,0,boot.stderr); + const why=run(['fold',place.coordinate,'--as','why']);assert.equal(why.status,0,why.stderr);assert.ok(why.stdout.includes('WHY '+place.scope+' · policy:query · '+place.value),why.stdout); + const absent=run(['fold',negative.absentCoordinate,'--as','why']);assert.equal(absent.status,0,absent.stderr);assert.ok(absent.stdout.includes('OPEN '+negative.absentCoordinate));assert.doesNotMatch(absent.stdout,/WHY/); + const missing=run(['fold','--as','missing']);assert.equal(missing.status,1,missing.stderr);assert.match(missing.stderr,/REFUSE·view/); + } + return events; + } finally {rmSync(temp,{recursive:true,force:true});} +} diff --git a/tools/samples/run-signing.mjs b/tools/samples/run-signing.mjs new file mode 100644 index 0000000..0de45a3 --- /dev/null +++ b/tools/samples/run-signing.mjs @@ -0,0 +1,35 @@ +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,existsSync,rmSync} from 'node:fs'; +import {tmpdir} from 'node:os';import {join,resolve} from 'node:path';import {spawnSync} from 'node:child_process';import {strict as assert} from 'node:assert'; +import {canonical,parse} from '@lapxo/topos/wire'; +import {createRequire} from 'node:module'; +export function runSigningSample(reader, accepted, negativeInput) { +const temp=mkdtempSync(join(tmpdir(),'bound-sign-cli-')); +const report={reader,dependency:'Topos 0.1.8 signing-lot/1',runs:[],complete:false}; +const pair=generateKeyPairSync('ed25519'),key=join(temp,'device.pem');writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); +const pub=pair.publicKey.export({type:'spki',format:'der'}).toString('base64');const wire=createRequire(import.meta.url).resolve('@lapxo/topos/wire'); +const counter=join(temp,'counter'),command=join(temp,'signer.mjs'),registry=join(temp,'bindings.json'); +writeFileSync(command,`import{readFileSync,appendFileSync}from'node:fs';import{sign,createPrivateKey}from'node:crypto';import{parse,canonical,formatSignature}from ${JSON.stringify(wire)};appendFileSync(process.argv[2],'1');const rows=readFileSync(0,'utf8').trimEnd().split('\\n');process.stdout.write(rows.map(bytes=>canonical({by:parse(bytes).value.fields.by,sig:formatSignature('ed25519:fixture',sign(null,Buffer.from(bytes),createPrivateKey(process.env.PORT_TEST_KEY)).toString('base64'))})).join('\\n')+'\\n');`); +const good={kind:'command',executable:process.execPath,args:[command,counter]};writeFileSync(registry,JSON.stringify({local:good})); +function run(root,label,args,expected=0){const p=spawnSync(process.execPath,[reader,...args],{cwd:root,env:{...process.env,BOUND_SIGNERS:registry,PORT_TEST_KEY:pair.privateKey.export({type:'pkcs8',format:'pem'})},encoding:'utf8',timeout:10000});report.runs.push({label,status:p.status,stdout:p.stdout,stderr:p.stderr});assert.equal(p.status,expected,p.stdout+p.stderr);return p;} +const row=(scope,measure,value,form='alphabet')=>canonical({scope,measure,value,form,role:'writes',at:'policy:fixture',by:'target'}); +function seed(root,name){mkdirSync(root);const rows=[['keys/device','class','authorize'],['keys/device','coverage','*'],['keys/device','public-key',pub],['keys/device','signer',name],['signer/timeout','milliseconds','500..500','interval'],['signer/response-bytes','bytes','65536..65536','interval'],['wire/digest-algorithms','id','sha256'],['wire/signature-algorithms','id','ed25519:fixture'],['wire/era','id','fixture'],['wire/families','id','keys|signer|wire|tree|write|leaf|read|fold|receipts|rendered|resolved|beat|view|region|sample'],['wire/fields','id','scope|role|form|measure|value|by|at|needs|sig|epoch|shape|restsOn|condition|about|kind|view'],['wire/required','id','scope|role|form|measure|value|by|at'],['wire/forms','id','alphabet|interval'],['wire/roles','id','reads|writes|demands'],['wire/at-classes','id','origin|place|receipt|witness|policy']];writeFileSync(join(root,'TARGET.bound'),rows.map(v=>row(...v)).join('\n')+'\n');} +const file=join(temp,'file'),remote=join(temp,'command'); +try{seed(file,'file');seed(remote,'local');run(file,'file bootstrap',['land','--key','device','--key-file',key]);run(remote,'command bootstrap',['land','--key','device','--signer','local']); + const draft=join(temp,'lot.proposal');writeFileSync(draft,accepted.rows.map(f=>row(f.scope,f.measure,f.value)).join('\n')+'\n'); + const f=run(file,'file signs whole lot',['sign','--key','device','--key-file',key,draft]);const before=readFileSync(counter,'utf8').length; + const c=run(remote,'command signs whole lot',['sign','--key','device','--signer','local',draft]);assert.equal(readFileSync(counter,'utf8').length-before,1);const signed=p=>p.stdout.split('\n').filter(l=>parse(l).kind==='fact');assert.deepEqual(signed(f),signed(c)); + const signedFile=join(temp,'signed.proposal');writeFileSync(signedFile,signed(c).join('\n')+'\n');run(file,'file consumer admits signed lot',['land',signedFile]);run(remote,'command consumer admits identical lot',['land',signedFile]); + writeFileSync(draft,[row('sample/failure-a','id','yes'),row('sample/failure-b','id','yes')].join('\n')+'\n'); + const ledger=join(remote,'.bound/ledger/device.bound'),hash=()=>createHash('sha256').update(readFileSync(ledger)).digest('hex'); + const absent=join(temp,'absent');seed(absent,'local');writeFileSync(join(absent,'TARGET.bound'),readFileSync(join(absent,'TARGET.bound'),'utf8').split('\n').filter(l=>!l.includes('measure=signer')).join('\n'));const miss=run(absent,'no declared signer',['land','--signer','local'],1);assert.match(miss.stderr,/missing.*keys\/device/);assert.equal(existsSync(join(absent,'.bound/ledger')),false); + for(const [label,code,pattern]of[['exit',"process.stdout.write('SECRET_OUTPUT');process.stderr.write('SECRET_ERROR');process.exit(7)",/status=7/],['timeout','setInterval(()=>{},100)',/timeout/],['malformed',"process.stdout.write('SECRET_OUTPUT\\n')",/invalid response/],['partial',"process.stdout.write('bound-lock/1 by=device sig=bad\\n')",/invalid response/]]){ + writeFileSync(registry,JSON.stringify({local:{kind:'command',executable:process.execPath,args:['--eval',code]}}));const beforeHash=hash();const p=run(remote,label,['land','--key','device','--signer','local',draft],1);assert.match(p.stderr,pattern);assert.ok(!(p.stdout+p.stderr).includes('SECRET'));assert.equal(hash(),beforeHash); + } + writeFileSync(registry,JSON.stringify({local:good}));run(remote,'selection conflict',['sign','--signer','file',draft],1);run(remote,'retired inert out refuses',['sign','--out','ignored',draft],2); + const invalid=join(temp,'invalid.proposal');writeFileSync(invalid,row('sample/valid','id','yes')+'\n'+row('sample/unknown','id','yes').replace('bound-lock/1',negativeInput.unknownVersion)+'\n'); + const invalidBefore=hash();const refused=run(remote,'unknown wire row refuses whole lot',['land','--signer','local',invalid],1);assert.match(refused.stderr,/version this reader does not know/);assert.equal(hash(),invalidBefore);assert.equal(refused.stdout,''); + report.complete=true;report.fileCommandIdentical=true;report.oneInvocationPerLot=true;report.failureAtomic=true;return report; +}finally{rmSync(temp,{recursive:true,force:true});} + +} diff --git a/tools/samples/run-typed-walk.mjs b/tools/samples/run-typed-walk.mjs new file mode 100644 index 0000000..a9ace30 --- /dev/null +++ b/tools/samples/run-typed-walk.mjs @@ -0,0 +1,53 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {readFileSync,writeFileSync,mkdirSync,readdirSync} from 'node:fs'; +import {join} from 'node:path'; +import {spawnSync} from 'node:child_process'; +import {canonical,parse} from '@lapxo/topos/wire'; +import {runTypedSample} from './run-typed.mjs'; + +/** Authenticated typed history stays origin-qualified evidence; it grants no receiver authority. */ +export function runTypedWalkSample(reader,capture,sample='yes.json') { + const events=[]; + const facts=text=>text.split('\n').filter(l=>parse(l).kind==='fact'); + const row=(scope,measure,value,extra={})=>canonical({scope,measure,value,role:'writes',form:'alphabet',at:'policy:typed-walk',by:'target',...extra}); + try {return runTypedSample(reader,undefined,sample,({root,place:sender,seed,pin,closure,yes,key})=>{ + const receiver=join(root,'receiver');mkdirSync(receiver); + const pair=generateKeyPairSync('ed25519'),receiverKey=join(root,'receiver.pem');writeFileSync(receiverKey,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const run=(place,args)=>{const p=spawnSync(process.execPath,[reader,...args],{cwd:place,encoding:'utf8',timeout:30000});events.push({args:args.map(a=>a.startsWith(root)?'/'+a.slice(root.length+1):a),status:p.status,stdout:p.stdout,stderr:p.stderr});return p;}; + const ok=(place,args)=>{const p=run(place,args);assert.equal(p.status,0,p.stderr||p.stdout);return p;}; + const doc=(name,lines)=>{const f=join(root,name+'.bound');writeFileSync(f,lines.join('\n')+'\n');return f;}; + const selected=JSON.parse(readFileSync(new URL('../../samples/walk/yes.json',import.meta.url),'utf8')).declarations.map(([scope,measure,value])=>row(scope,measure,value)).filter(l=>parse(l).value.fields.scope.startsWith('wire/walk/')); + const config=seed.filter(l=>parse(l).value.fields.scope!=='wire/families'); + const families=row('wire/families','id','B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses|walk'); + const contexts=[['sender',seed],['receiver',config.map(l=>{const f=parse(l).value.fields;return f.scope==='keys/device'&&f.measure==='public-key'?canonical({...f,value:pair.publicKey.export({type:'spki',format:'der'}).toString('base64')}):l;})]].map(([name,rows])=>{ + const declarations=[row('keys/device','resolution','1..16',{form:'interval'}),...rows.filter(l=>!parse(l).value.fields.scope.startsWith('view/')),...selected.map(l=>{const f=parse(l).value.fields;return f.scope==='wire/walk/fields'?canonical({...f,value:[...new Set([...f.value.split('|'),...parse(seed.find(l=>parse(l).value.fields.scope==='wire/fields')).value.fields.value.split('|')])].filter(k=>k!=='sig').sort().join('|')}):l;}),row('walk/origin','id',name+'-typed-ledger'),row('region/context','reads','keys/**|wire/**|walk/origin|uses/**')]; + const folded=ok(receiver,['fold',doc(name+'-context',declarations)]),digest=/^PIN (\S+)$/m.exec(folded.stdout)?.[1];assert.ok(digest); + const bytes=folded.stdout.split('\n').filter(l=>l.startsWith('TOPOS ')).map(l=>l.slice(6)).join('\n')+'\n';assert.equal('sha256:'+createHash('sha256').update(bytes).digest('hex'),digest); + return {name,digest,bytes,declarations}; + }); + for(const place of [sender,receiver]){ + const cas=join(place,'.bound/cas/blobs');mkdirSync(cas,{recursive:true}); + for(const c of contexts)writeFileSync(join(cas,c.digest.split(':')[1]),c.bytes); + for(const [d,b] of closure.blobs)writeFileSync(join(cas,d.split(':')[1]),b); + writeFileSync(join(cas,pin.split(':')[1]),readFileSync(join(sender,'.bound/cas/blobs',pin.split(':')[1]))); + } + const additions=c=>[...c.declarations.filter(l=>parse(l).value.fields.scope.startsWith('wire/walk/')),row('keys/device','resolution','1..16',{form:'interval'}),families,row('walk/context','digest',c.digest),row('uses/peer','digest',contexts.find(o=>o!==c).digest),row('view/walk','id','walk@*',{role:'demands',needs:'B|C|D|G|evidence/**'}),row('view/evidence','id','evidence@8',{role:'demands'})]; + ok(sender,['land',doc('sender-walk',additions(contexts[0])),'--key','device','--key-file',key]); + writeFileSync(join(receiver,'TARGET.bound'),[...config.map(l=>{const f=parse(l).value.fields;return f.scope==='keys/device'&&f.measure==='public-key'?canonical({...f,value:pair.publicKey.export({type:'spki',format:'der'}).toString('base64')}):l;}),...additions(contexts[1])].join('\n')+'\n'); + ok(receiver,['land','--key','device','--key-file',receiverKey]); + const cell={...yes.cells.find(c=>c.scope==='C'),type:'cell',id:'receiver-definition',restsOn:'none',form:yes.form,measure:yes.measure,params:JSON.stringify(yes.params),topos:pin,by:'target'}; + ok(receiver,['land',doc('receiver-cell',[canonical(cell)]),'--key','device','--key-file',receiverKey]); + ok(receiver,['land',doc('receiver-claim',[canonical({type:'claim',scope:'C',id:'c-C',sign:'+1',origin:'ana',value:yes.acts.find(a=>a.id==='c-C').value,by:'target'})]),'--key','device','--key-file',receiverKey]); + const baseline=ok(receiver,['fold','--as','cells']); + const peer=doc('peer-inventory',facts(ok(receiver,['fold','--as','walk@0','--key','device','--key-file',receiverKey]).stdout)); + const packet=doc('typed-history',facts(ok(sender,['fold','--as','walk@8',peer,'--key','device','--key-file',key]).stdout)); + const incoming=ok(receiver,['land',packet,'--key','device','--key-file',receiverKey]);assert.match(incoming.stdout,/INGRESS \d+ new evidence lines · 1 signed local import receipt/); + const retained=ok(receiver,['fold','--as','evidence']);assert.ok(facts(retained.stdout).some(l=>{const f=parse(l).value.fields;return f.type==='claim'&&f.takes==='c-C'&&f.sign==='-1'})); + const after=ok(receiver,['fold','--as','cells']);const cells=p=>p.stdout.split('\n').filter(l=>l.startsWith('CELL ')).join('\n');assert.equal(cells(after),cells(baseline),'foreign withdrawal cannot take a local ID');assert.match(after.stdout,/0 opened.*idle.*provider 0/); + assert.ok(JSON.parse(after.stdout.split('\n').find(l=>l.startsWith('CELL ')).slice(5)).ownClaims.some(c=>c.id==='c-C')); + const hash=()=>readdirSync(join(receiver,'.bound/ledger')).map(n=>[n,createHash('sha256').update(readFileSync(join(receiver,'.bound/ledger',n))).digest('hex')]);const before=hash();assert.match(ok(receiver,['land',packet]).stdout,/ONCE 0 new evidence lines/);assert.deepEqual(hash(),before); + if(capture)writeFileSync(capture,JSON.stringify({contract:'foreign typed evidence, not cross-origin object reconstruction',events},null,2)+'\n'); + console.log('TYPED WALK '+sample+' · foreign exact withdrawal retained · local ID live · receipts idle · replay ONCE'); + });} finally {if(capture)writeFileSync(capture,JSON.stringify({contract:'foreign typed evidence, not cross-origin object reconstruction',events},null,2)+'\n');} +} diff --git a/tools/samples/run-typed.mjs b/tools/samples/run-typed.mjs new file mode 100644 index 0000000..b193203 --- /dev/null +++ b/tools/samples/run-typed.mjs @@ -0,0 +1,153 @@ +import {strict as assert} from 'node:assert'; +import {createHash, generateKeyPairSync, sign} from 'node:crypto'; +import {mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join, dirname} from 'node:path'; +import {createRequire} from 'node:module'; +import {fileURLToPath} from 'node:url'; +import {spawnSync} from 'node:child_process'; +import {canonical, signedBytes, formatSignature} from '@lapxo/topos/wire'; +import {standingBytes} from '@lapxo/topos/standing'; +import {moduleClosure} from './module-closure.mjs'; +import {intervalForm, alphabetOfForm} from '@lapxo/topos/forms'; +import {cell, parts, state, live, sign as ceiling, join as opening, require as floor, observe} from '@lapxo/obligations/views/field'; + +export function runTypedSample(reader, capture, sample='yes.json', continuation, inputs={}) { + const root = mkdtempSync(join(tmpdir(), 'bound-typed-sample-')); + const pair = generateKeyPairSync('ed25519'); + const key = join(root, 'device.pem'); + writeFileSync(key, pair.privateKey.export({type:'pkcs8', format:'pem'}), {mode:0o600}); + const place = join(root, 'place'); mkdirSync(place); + const events = []; + const run = args => { + const started=performance.now(); + const p = spawnSync(process.execPath, [reader, ...args], {cwd:place, encoding:'utf8', timeout:30000}); + events.push({args:args.map(a=>a===key?'':a.startsWith(root)?'/'+a.slice(root.length+1):a), status:p.status, runtimeMs:performance.now()-started, stdout:p.stdout, stderr:p.stderr}); + return p; + }; + const ok = p => assert.equal(p.status, 0, p.stderr || p.stdout); + const row = (scope, measure, value, more={}) => canonical({scope, measure, value, role:'writes', form:'alphabet', at:'policy:sample', by:'target', ...more}); + const yes=JSON.parse(readFileSync(inputs.yes ?? new URL('../../samples/typed/'+sample,import.meta.url),'utf8')); + const closure = moduleClosure(new URL('./typed-provider.mjs', import.meta.url)); + const toposLines = [ + row('region/context', 'reads', 'offers/**|wire/**'), + row('wire/forms','id',yes.form), + row('offers/form','digest',closure.digest,{kind:'form',restsOn:closure.digest}), + row('wire/topos/context-view', 'id', 'sample-context'), + row('offers/context', 'digest', closure.digest, {kind:'check',view:'sample-context', restsOn:[...closure.blobs.keys()].sort().join('|')}), + ]; + const standing = standingBytes(toposLines); + const pin = 'sha256:'+createHash('sha256').update(standing).digest('hex'); + const seed = [ + ['keys/device','class','authorize'], ['keys/device','coverage','*'], + ['keys/device','public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')], + ['keys/device','signer','file'], ['keys/reader','class','read'], ['keys/folder','class','fold'], + ['signer/timeout','milliseconds','5000..5000'], ['signer/response-bytes','bytes','65536..65536'], + ['wire/digest-algorithms','id','sha256'], ['wire/signature-algorithms','id','ed25519:sample'], + ['wire/era','id','sample'], ['wire/families','id','B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses'], + ['wire/forms','id','alphabet|interval'], ['wire/roles','id','reads|writes|demands'], + ['wire/at-classes','id','origin|place|receipt|witness|policy'], + ['wire/receipt-inputs','id','semantic-live@1'], + ['wire/region-measures','id','coordinates|leaves'], + ['view/cells','id','cells@1'], ['uses/sample','digest',pin], + ].map(([scope,measure,value])=>row(scope,measure,value,{ + form:measure==='milliseconds'||measure==='bytes'?'interval':'alphabet', + role:scope.startsWith('view/')?'demands':'writes', + })); + const grammar = JSON.parse(readFileSync(new URL('../../samples/typed/wire.json',import.meta.url),'utf8')); + seed.push(...grammar); + for (const [family,id,condition] of [['origin','ana','C'],['origin','luis','C'],['witness','local-opening','B']]) + seed.push(row(`evidence/${family}/${id}`,'id',id,{condition})); + const directory = join(place, '.bound/cas/blobs'); + mkdirSync(directory,{recursive:true}); + for (const [digest,bytes] of [...closure.blobs, [pin,standing]]) { + assert.equal('sha256:'+createHash('sha256').update(bytes).digest('hex'),digest); + writeFileSync(join(directory,digest.split(':')[1]),bytes); + } + writeFileSync(join(place,'TARGET.bound'),seed.join('\n')+'\n'); + let epoch=2; + let world = new Map(); + const params=yes.params, form=[intervalForm,alphabetOfForm].find(f=>f.id===yes.form), lattice=form.lattice(params); + const oracle = (f, at) => { + if(f.type==='cell') {world.set(f.scope,cell(f.scope,at,[],f.restsOn==='none'?[]:f.restsOn.split('|')));return;} + const c=world.get(f.scope), line={id:f.id,at}; + if(f.sign==='-1') { + if(f.type==='claim') world.set(f.scope,observe(c,{...line,origin:'',span:lattice.bottom,sign:-1,takes:f.takes},-1)); + else world.set(f.scope,{...c,marks:[...(c.marks??[]),{...line,sign:-1,takes:f.takes,pole:'ceiling',reach:'local',span:lattice.top}]}); + return; + } + const span=form.parse(params,f.value); + if(f.type==='claim')world.set(f.scope,observe(c,{...line,origin:f.origin,span})); + else if(f.pole==='floor')world=new Map(floor(lattice,world,f.scope,span,line)); + else if(f.reach==='travels')world=new Map(ceiling(lattice,world,f.scope,span,line)); + else {const next=opening(lattice,c,span,f.widens,at);world.set(f.scope,{...next,marks:next.marks.map((m,i)=>i===next.marks.length-1?{...m,id:f.id}:m)});} + }; + const land = fields => { + const records = fields.map(f=>{const stamped={...f, by:'device',epoch:String(epoch)};return canonical({...stamped,sig:formatSignature('ed25519:sample',sign(null,Buffer.from(signedBytes(stamped)),pair.privateKey).toString('base64'))});}); + const at=epoch; + const path=join(root,'lot.txt');writeFileSync(path,records.join('\n')+'\n');const result=run(['land',path]);if(result.status===0){epoch++;for(const f of fields)oracle(f,at);}return result; + }; + try { + const worldLock=join(root,'topos.bound');writeFileSync(worldLock,toposLines.join('\n')+'\n'); + const foldedTopos=run(['fold',worldLock]);ok(foldedTopos); + assert.ok(foldedTopos.stdout.includes('PIN '+pin),foldedTopos.stdout); + assert.match(foldedTopos.stdout,/TOPOS/); + ok(run(['land','--key','device','--key-file',key])); + ok(land(yes.cells.map(c=>({...c,type:'cell',id:'def-'+c.scope,form:yes.form,measure:yes.measure,params:JSON.stringify(params),topos:pin})))); + for(const act of yes.acts) ok(land([act])); + const snapshots=[]; + const read = label => { + const folded=run(['fold','--as','cells']);ok(folded); + const cells=folded.stdout.split('\n').filter(line=>line.startsWith('CELL ')).map(line=>JSON.parse(line.slice(5))); + assert.equal(cells.length,4,folded.stdout); + for(const reading of cells) { + const c=world.get(reading.cell); + assert.equal(reading.state,state(lattice,c,world),label+' '+reading.cell); + assert.deepEqual(reading.parts,JSON.parse(JSON.stringify(parts(lattice,c,world))),label+' '+reading.cell); + assert.deepEqual(reading.ownMarks,live(c.marks??[]).map(m=>m.id)); + } + snapshots.push({label,cells});return cells; + }; + const cells=read('compatible independent observations'); + assert.equal(cells.find(c=>c.cell==='C').state,'FREE'); + assert.deepEqual(cells.find(c=>c.cell==='B').ownMarks,['s-B','j-B','r-B']); + const idle=run(['fold','--as','cells']);ok(idle);assert.match(idle.stdout,/0 opened.*idle.*provider 0/); + ok(land([{type:'claim',scope:'C',id:'disagreement',sign:'+1',origin:'ana',value:yes.scenarios.conflicting}])); + assert.equal(read('conflicting observations').find(c=>c.cell==='C').state,'CONFLICT'); + for(const id of ['disagreement','c-C','c-L'])ok(land([{type:'claim',scope:'C',id:'withdraw-'+id,sign:'-1',takes:id}])); + assert.equal(read('exact claim withdrawals').find(c=>c.cell==='C').state,'REQUIRED'); + for(const [id,origin] of [['outside-a','ana'],['outside-b','luis']])ok(land([{type:'claim',scope:'C',id,sign:'+1',origin,value:yes.scenarios.outside}])); + assert.equal(read('outside travelling ceiling').find(c=>c.cell==='C').state,'FORBIDDEN'); + ok(land([{type:'mark',scope:'G',id:'incompatible-floor',sign:'+1',pole:'floor',reach:'travels',value:yes.scenarios.floorConflict}])); + assert.equal(read('bounds conflict before origins').find(c=>c.cell==='G').state,'CONFLICT'); + ok(land([{type:'mark',scope:'B',id:'withdraw-j',sign:'-1',takes:'j-B'}])); + assert.deepEqual(read('local opening withdrawn').find(c=>c.cell==='B').parts.signed,JSON.parse(JSON.stringify(form.parse(params,yes.acts[0].value)))); + const invalid=JSON.parse(readFileSync(inputs.no ?? new URL('../../samples/typed/no.json',import.meta.url),'utf8')); + for(const example of invalid) { + const record={...example.record}; + if(yes.form==='alphabet'&&record.value)record.value=({'44..47':'lock','0..100':'lock|readme|source','0..49':'readme','40..*':'lock'})[record.value]??record.value; + const ledger=join(place,'.bound/ledger/device.bound'); + const before=createHash('sha256').update(readFileSync(ledger)).digest('hex'); + const refused=land([record]);assert.notEqual(refused.status,0,example.name);assert.match(refused.stderr,new RegExp(example.refusal),example.name); + const after=createHash('sha256').update(readFileSync(ledger)).digest('hex'); + assert.equal(after,before,example.name+' must not append refused bytes'); + Object.assign(events.at(-1),{case:example.name,ledgerSHA256Before:before,ledgerSHA256After:after}); + } + if(continuation)continuation({root,place,pair,key,seed,pin,standing,closure,yes,run,epoch,events}); + return {pin, artifact:closure.digest, artifacts:closure.blobs.size, cells, snapshots, events}; + } finally { + if(capture)writeFileSync(capture,JSON.stringify({pin,artifact:closure.digest,place:yes.place,events},null,2)+'\n'); + rmSync(root,{recursive:true,force:true}); + } +} + +if(process.argv[1]===fileURLToPath(import.meta.url)) { + const require=createRequire(import.meta.url); + const reader=process.argv[2]??join(dirname(require.resolve('@lapxo/bound/package.json')),'dist/cli/verb.js'); + const result=runTypedSample(reader,process.env.BOUND_TEST_CAPTURE); + console.log('SAMPLE '+result.pin); + for(const snapshot of result.snapshots) { + console.log('SCENE '+snapshot.label); + for(const reading of snapshot.cells)console.log('CELL '+JSON.stringify(reading)); + } +} diff --git a/tools/samples/run-walk-refinement.mjs b/tools/samples/run-walk-refinement.mjs new file mode 100644 index 0000000..50fe094 --- /dev/null +++ b/tools/samples/run-walk-refinement.mjs @@ -0,0 +1,43 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,rmSync} from 'node:fs'; +import {tmpdir} from 'node:os';import {join} from 'node:path';import {spawnSync} from 'node:child_process'; +import {canonical,parse} from '@lapxo/topos/wire'; +export async function runWalkRefinement(reader,capture,family){ + const temp=mkdtempSync(join(tmpdir(),'bound-refinement-')),captures=[]; + const row=(scope,measure,value,form='alphabet')=>canonical({scope,measure,value,form,role:'writes',at:'policy:sample',by:'target'}); + const base=JSON.parse(readFileSync(new URL('../../samples/walk/yes.json',import.meta.url),'utf8')).declarations.map(v=>row(...v)); + const profile=JSON.parse(readFileSync(new URL('../../samples/walk/refinement.json',import.meta.url),'utf8')); + const declarations=base.filter(l=>!profile.some(p=>parse(p).value.fields.scope===parse(l).value.fields.scope)).concat(profile); + const facts=text=>text.split('\n').filter(l=>parse(l).kind==='fact'); + const run=(world,args)=>{const p=spawnSync(process.execPath,[reader,...args],{cwd:world.root,encoding:'utf8',timeout:20000});captures.push({args:args.map(v=>v.endsWith('.pem')?'[ephemeral key]':v),status:p.status,stdout:p.stdout,stderr:p.stderr});assert.equal(p.status,0,p.stderr);return p;}; + const worlds=['left','right'].map(name=>{const root=join(temp,name),pair=generateKeyPairSync('ed25519'),key=join(temp,name+'.pem');mkdirSync(root);writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600});return {root,key,name,decl:[...declarations,row('walk/origin','id',name+'-ledger'),row('keys/'+name,'class','authorize'),row('keys/'+name,'coverage','*'),row('keys/'+name,'public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/'+name,'resolution','1..16','interval'),row('keys/'+name,'signer','file'),row('keys/local-reader','class','read')]};}); + const file=(name,lines)=>{const path=join(temp,name+'.bound');writeFileSync(path,lines.join('\n')+'\n');return path;}; + const walk=(world,depth,peer)=>run(world,['fold','--as','walk@'+depth,...peer?[peer]:[],'--key',world.name,'--key-file',world.key]); + const regions=text=>facts(text).map(l=>parse(l).value.fields).filter(f=>f.scope.startsWith('walk/regions/')&&f.measure==='digest'); + const root=text=>facts(text).map(l=>parse(l).value.fields).find(f=>f.scope==='walk/root').value; + const payload=text=>facts(text).filter(l=>parse(l).value.fields.scope.startsWith('sample/')); + try{ + for(const world of worlds){const folded=run(world,['fold',file(world.name+'-context',[...world.decl,row('region/context','reads','keys/**|wire/**|walk/origin')])]);world.pin=/^PIN (\S+)$/m.exec(folded.stdout)[1];world.bytes=folded.stdout.split('\n').filter(l=>l.startsWith('TOPOS ')).map(l=>l.slice(6)).join('\n')+'\n';assert.equal(world.pin,'sha256:'+createHash('sha256').update(world.bytes).digest('hex'));} + for(const world of worlds){const cas=join(world.root,'.bound','cas','blobs');mkdirSync(cas,{recursive:true});for(const other of worlds)writeFileSync(join(cas,other.pin.split(':')[1]),other.bytes);writeFileSync(join(world.root,'TARGET.bound'),[...world.decl,row('walk/context','digest',world.pin),row('uses/peer','digest',worlds.find(w=>w!==world).pin),canonical({scope:'view/walk',role:'demands',form:'alphabet',measure:'id',value:'walk@*',needs:'sample/**',at:'policy:sample',by:'target'}),canonical({scope:'view/evidence',role:'demands',form:'alphabet',measure:'id',value:'evidence@8',at:'policy:sample',by:'target'})].join('\n')+'\n');run(world,['land','--key',world.name,'--key-file',world.key]);} + const [left,right]=worlds; + const scopes=['north/first','south/second','north/third'].map(s=>'sample/'+family+'/'+s); + run(left,['land',file('initial',scopes.map((s,i)=>row(s,'id','value-'+i))),'--key',left.name,'--key-file',left.key]); + const peer=file('empty-right',facts(walk(right,0).stdout)); + const coarse=walk(left,0,peer),medium=walk(left,4,peer),fine=walk(left,6,peer); + assert.equal(regions(coarse.stdout).length,1);assert.equal(regions(medium.stdout).length,2);assert.equal(regions(fine.stdout).length,3);assert.equal(root(coarse.stdout),root(medium.stdout));assert.equal(root(medium.stdout),root(fine.stdout));assert.equal(payload(fine.stdout).length,3); + console.log('REFINEMENT '+family+' · 1 coarse · 2 intermediate · 3 complete coordinates · same history root'); + const invalid=file('grouped-fragment',[...facts(medium.stdout),...payload(fine.stdout)]); + const refused=spawnSync(process.execPath,[reader,'land',invalid,'--key',right.name,'--key-file',right.key],{cwd:right.root,encoding:'utf8',timeout:20000}); + captures.push({args:['land','[grouped-fragment]'],status:refused.status,stdout:refused.stdout,stderr:refused.stderr});assert.notEqual(refused.status,0);assert.match(refused.stderr,/REFUSE·walk partial or extra payload|REFUSE·walk region digest or count mismatch/);console.log(refused.stderr.trim()); + const packet=file('payload',facts(fine.stdout));assert.match(run(right,['land',packet,'--key',right.name,'--key-file',right.key]).stdout,/INGRESS 3 new evidence lines/); + assert.match(run(right,['land',packet]).stdout,/ONCE 0 new evidence lines/); + const ack=file('fine-ack',facts(walk(right,5).stdout));assert.equal(payload(walk(left,6,ack).stdout).length,0); + run(left,['land',file('new-coordinate',[row('sample/'+family+'/north/fourth','id','new')]),'--key',left.name,'--key-file',left.key]); + const next=walk(left,6,ack);assert.equal(regions(next.stdout).length,1);assert.equal(payload(next.stdout).length,1);assert.ok(payload(next.stdout)[0].includes('/north/fourth'));assert.match(next.stdout,/EXCHANGE 1 touched regions · 1 open regions/); + console.log('REFINEMENT '+family+' · new coordinate opens only itself · verified siblings reused'); + run(right,['land',file('next-payload',facts(next.stdout)),'--key',right.name,'--key-file',right.key]); + const evidence=run(right,['fold','--as','evidence']);for(const scope of scopes)assert.ok(facts(evidence.stdout).some(l=>parse(l).value.fields.scope===scope)); + const result={family,status:'native CLI refinement passed',captures};if(capture)writeFileSync(capture,JSON.stringify(result,null,2)+'\n');return result; + }finally{rmSync(temp,{recursive:true,force:true});} +} diff --git a/tools/samples/run-walk.mjs b/tools/samples/run-walk.mjs new file mode 100644 index 0000000..a5c8020 --- /dev/null +++ b/tools/samples/run-walk.mjs @@ -0,0 +1,109 @@ +import assert from 'node:assert/strict'; +import {generateKeyPairSync,createHash,sign} from 'node:crypto'; +import {mkdtempSync,mkdirSync,writeFileSync,readFileSync,readdirSync,rmSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join} from 'node:path'; +import {spawnSync,spawn} from 'node:child_process'; +import {canonical,parse,signedBytes,formatSignature} from '@lapxo/topos/wire'; +import {walkSelection,walkSnapshot,walkAt,walkHeaders,readWalkHeaders} from '@lapxo/topos/walk'; + +export async function runWalkSample(reader, capture, family='measurement', profile) { + const temp=mkdtempSync(join(tmpdir(),'bound-native-walk-')),captures=[]; + const row=(scope,measure,value,form='alphabet')=>canonical({scope,measure,value,form,role:'writes',at:'policy:walk-fixture',by:'target'}); + const base=(profile??JSON.parse(readFileSync(new URL('../../samples/walk/yes.json',import.meta.url),'utf8'))).declarations.map(v=>row(v[0],v[1],v[2],v[3])); + const facts=(text)=>text.split('\n').filter(line=>parse(line).kind==='fact'); + const run=(root,args)=>{const p=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:20000});captures.push({args:args.map(a=>a.endsWith('.pem')?'[ephemeral key]':a),status:p.status,stdout:p.stdout,stderr:p.stderr});return p;}; + const passed=(root,args)=>{const p=run(root,args);assert.equal(p.status,0,p.stderr);return p;}; + const worlds=['left','right'].map(name=>{ + const root=join(temp,name),pair=generateKeyPairSync('ed25519'),key=join(temp,name+'.pem');mkdirSync(root);writeFileSync(key,pair.privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600}); + const declarations=[...base,row('walk/origin','id',name+'-ledger'),row('keys/'+name,'class','authorize'),row('keys/'+name,'coverage','*'),row('keys/'+name,'public-key',pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/'+name,'resolution','1..16','interval'),row('keys/'+name,'signer','file'),row('keys/local-reader','class','read')]; + const file=join(temp,name+'-context.bound');writeFileSync(file,[...declarations,row('region/context','reads','keys/**|wire/**|walk/origin')].join('\n')+'\n'); + const conflict=join(temp,name+'-conflicting-wire.bound'); + writeFileSync(conflict,[...declarations,row('wire/fields','id','scope|value'),row('region/context','reads','keys/**|wire/**|walk/origin')].join('\n')+'\n'); + const ambiguity=run(root,['fold',conflict]);assert.notEqual(ambiguity.status,0);assert.match(ambiguity.stderr,/REFUSE·document wire\/fields writes id · target has two live inscriptions without withdrawal/); + const folded=passed(root,['fold',file]),pin=/^PIN (\S+)$/m.exec(folded.stdout)?.[1];assert.ok(pin); + const bytes=folded.stdout.split('\n').filter(line=>line.startsWith('TOPOS ')).map(line=>line.slice(6)).join('\n')+'\n';assert.equal('sha256:'+createHash('sha256').update(bytes).digest('hex'),pin); + return {name,root,key,declarations,pin,bytes,pair}; + }); + const document=(name,lines)=>{const file=join(temp,name+'.bound');writeFileSync(file,lines.join('\n')+'\n');return file;}; + const snapshot=(root)=>{ + const visit=(at)=>readdirSync(at,{withFileTypes:true}).sort((a,b)=>a.name.localeCompare(b.name)).flatMap(d=>d.isDirectory()?visit(join(at,d.name)):[join(at,d.name)+':'+createHash('sha256').update(readFileSync(join(at,d.name))).digest('hex')]); + return visit(root); + }; + try{ + for(const world of worlds){ + const cas=join(world.root,'.bound','cas','blobs');mkdirSync(cas,{recursive:true});for(const origin of worlds)writeFileSync(join(cas,origin.pin.split(':')[1]),origin.bytes); + const seed=[...world.declarations,row('walk/context','digest',world.pin),row('uses/peer','digest',worlds.find(w=>w!==world).pin),canonical({scope:'view/walk',role:'demands',form:'alphabet',measure:'id',value:'walk@*',needs:'sample/**',at:'policy:walk-fixture',by:'target'}),canonical({scope:'view/evidence',role:'demands',form:'alphabet',measure:'id',value:'evidence@8',at:'policy:walk-fixture',by:'target'})]; + if(world.name==='right')seed.push(row('keys/importer','class','authorize'),row('keys/importer','coverage','receipts'),row('keys/importer','public-key',world.pair.publicKey.export({type:'spki',format:'der'}).toString('base64')),row('keys/importer','resolution','1..16','interval'),row('keys/importer','signer','waiting-command')); + writeFileSync(join(world.root,'TARGET.bound'),seed.join('\n')+'\n');passed(world.root,['land','--key',world.name,'--key-file',world.key]); + } + const [left,right]=worlds; + const inventory=(world,depth,file)=>passed(world.root,['fold','--as','walk@'+depth,...file?[file]:[],'--key',world.name,'--key-file',world.key]); + const equalLeft=inventory(left,0),equalRight=inventory(right,0);assert.equal(facts(equalLeft.stdout).find(l=>l.includes('scope=walk/root'))?.match(/value=(\S+)/)?.[1],facts(equalRight.stdout).find(l=>l.includes('scope=walk/root'))?.match(/value=(\S+)/)?.[1]); + for(const world of worlds){const lot=document(world.name+'-local',[row('sample/'+family,'id',world.name)]);passed(world.root,['land',lot,'--key',world.name,'--key-file',world.key]);} + const remoteInventory=document('right-inventory',facts(inventory(right,0).stdout)); + const summary=inventory(left,1,remoteInventory);assert.ok(!facts(summary.stdout).some(l=>l.includes('scope=sample/'))); + const intermediate=inventory(left,4,remoteInventory);assert.ok(!facts(intermediate.stdout).some(l=>l.includes('scope=sample/'))); + const detailed=inventory(left,6,remoteInventory);assert.ok(facts(detailed.stdout).some(l=>l.includes('scope=sample/'))); + const packet=inventory(left,8,remoteInventory);assert.match(packet.stdout,/EXCHANGE 1 touched regions · 1 open regions · \d+ payload bytes/); + const offered=facts(packet.stdout),file=document('left-payload',offered),before=snapshot(right.root); + const altered=document('altered',offered.map(l=>l.replace('value=left','value=altered')));const bad=run(right.root,['land',altered,'--key',right.name,'--key-file',right.key]);assert.notEqual(bad.status,0);assert.match(bad.stderr,/REFUSE·walk/);assert.deepEqual(snapshot(right.root),before); + const resign=(world,fields)=>{const {sig,...body}=fields;return canonical({...body,sig:formatSignature('ed25519:sample',sign(null,Buffer.from(signedBytes(body)),world.pair.privateKey).toString('base64'))})}; + const refuses=(name,lines,reason)=>{const unchanged=snapshot(right.root),p=run(right.root,['land',document(name,lines),'--key',right.name,'--key-file',right.key]);assert.notEqual(p.status,0);assert.match(p.stderr,reason);assert.deepEqual(snapshot(right.root),unchanged,name+' must admit nothing')}; + refuses('partial-payload',offered.filter(l=>!l.includes('scope=sample/')),/REFUSE·walk/); + refuses('outside-prefix',offered.map(l=>l.includes('scope=sample/')?resign(left,{...parse(l).value.fields,epoch:'99'}):l),/REFUSE·walk foreign epoch is outside the authenticated prefix/); + refuses('unauthorized-prefix',offered.map(l=>l.includes('scope=walk/')?resign(left,{...parse(l).value.fields,by:'outsider'}):l),/REFUSE·walk/); + refuses('stale-base',offered.map(l=>l.includes('scope=walk\/root')?resign(left,{...parse(l).value.fields,condition:'sha256:'+('0'.repeat(64))}):l),/REFUSE·walk stale receiver base/); + const untouched=snapshot(left.root),unsupported=run(left.root,['fold','--as','walk@2','--key',left.name,'--key-file',left.key]);assert.notEqual(unsupported.status,0);assert.match(unsupported.stderr,/REFUSE·walk/);assert.deepEqual(snapshot(left.root),untouched); + const landed=passed(right.root,['land',file,'--key',right.name,'--key-file',right.key]);assert.match(landed.stdout,/INGRESS 1 new evidence lines · 1 signed local import receipt/);assert.match(landed.stdout,/EXCHANGE \d+ payload bytes · \d+ protocol bytes · \d+ new evidence bytes · \d+ new receipt bytes/); + const receipt=facts(landed.stdout).find(l=>l.includes('scope=receipts'));assert.ok(receipt);assert.match(receipt,/epoch=3/); + const replayBefore=snapshot(right.root),replay=passed(right.root,['land',file]);assert.match(replay.stdout,/ONCE 0 new evidence lines · 1 retained import receipt/);assert.deepEqual(snapshot(right.root),replayBefore); + const prefixFields=parse(left.declarations.find(l=>l.includes('scope=wire/walk/fields'))).value.fields.value.split('|'); + const digest=bytes=>'sha256:'+createHash('sha256').update(bytes).digest('hex'); + const packetFor=(history,cut)=>{ + const peerHeaders=facts(inventory(right,0).stdout),peerRoot=peerHeaders.find(l=>l.includes('scope=walk/root')),peer=readWalkHeaders(peerHeaders,right.pin,parse(peerRoot).value.fields.condition,()=>true); + const selected=walkAt(walkSnapshot(history,prefixFields,digest,left.name+'-ledger'),peer,8,walkSelection(left.declarations).projections); + return [...walkHeaders(selected,left.pin,peer.root,true).map(l=>resign(left,{...parse(l).value.fields,by:left.name,epoch:String(cut)})),...selected.records]; + }; + const original=offered.find(l=>l.includes('scope=sample/')); + refuses('missing-earlier-prefix',packetFor([resign(left,{...parse(original).value.fields,epoch:'3',value:'replaced'})],3),/REFUSE·walk foreign history is not an extension of its verified prefix/); + refuses('inserted-at-verified-epoch',packetFor([original,resign(left,{...parse(original).value.fields,scope:'sample/extra',epoch:'2'})],3),/REFUSE·walk foreign epoch does not match the verified prefix/); + const acknowledged=document('right-acknowledged',facts(inventory(right,0).stdout)); + const noPayload=inventory(left,8,acknowledged);assert.match(noPayload.stdout,/EXCHANGE 0 touched regions · 0 open regions · 0 payload bytes/); + const none=document('no-payload',facts(noPayload.stdout)),idleBefore=snapshot(right.root),idle=passed(right.root,['land',none]);assert.match(idle.stdout,/ONCE 0 new evidence lines · 0 import receipts/);assert.deepEqual(snapshot(right.root),idleBefore); + const leftInventory=document('left-inventory',facts(inventory(left,0).stdout)),rightPayload=document('right-payload',facts(inventory(right,8,leftInventory).stdout)); + passed(left.root,['land',rightPayload,'--key',left.name,'--key-file',left.key]); + const bothLeft=inventory(left,0),bothRight=inventory(right,0),rootValue=text=>facts(text).find(l=>l.includes('scope=walk/root'))?.match(/value=(\S+)/)?.[1]; + assert.equal(rootValue(bothLeft.stdout),rootValue(bothRight.stdout),'two heads retain both origin prefixes and converge by the wire'); + const evidence=passed(right.root,['fold','--as','evidence']);assert.ok(facts(evidence.stdout).some(l=>l.includes('scope=sample/'+family)&&l.includes('value=left')&&l.includes('epoch=2')));assert.ok(facts(evidence.stdout).some(l=>l.includes('scope=sample/'+family)&&l.includes('value=right'))); + const local=document('next-local',[row('sample/after','id','local')]),signed=passed(right.root,['sign',local,'--key',right.name,'--key-file',right.key]);assert.match(signed.stdout,/epoch=4/); + const changed=passed(right.root,['land',local,'--key',right.name,'--key-file',right.key]);assert.match(changed.stdout,/epoch 4/); + const historicalReplay=snapshot(right.root);assert.match(passed(right.root,['land',file]).stdout,/ONCE 0 new evidence lines/);assert.deepEqual(snapshot(right.root),historicalReplay,'a valid old delivery stays idempotent after a local change'); + assert.ok(!readFileSync(join(right.root,'.bound','ledger',right.name+'.bound'),'utf8').includes('by=left'),'foreign keys/history never enter local owner ledger'); + const alternate=document('alternate-origin-context',[...left.declarations,row('wire/walk/profile','id','alternate'),row('region/context','reads','keys/**|wire/**|walk/origin')]),alternateFold=passed(right.root,['fold',alternate]); + const alternatePin=/^PIN (\S+)$/m.exec(alternateFold.stdout)[1],alternateBytes=alternateFold.stdout.split('\n').filter(l=>l.startsWith('TOPOS ')).map(l=>l.slice(6)).join('\n')+'\n'; + assert.equal(digest(alternateBytes),alternatePin);writeFileSync(join(right.root,'.bound','cas','blobs',alternatePin.split(':')[1]),alternateBytes); + passed(right.root,['land',document('select-alternate',[row('uses/alternate','digest',alternatePin)]),'--key',right.name,'--key-file',right.key]); + refuses('undeclared-context-lineage',offered.map(l=>l.includes('scope=walk/')?resign(left,{...parse(l).value.fields,at:'receipt:'+alternatePin}):l),/REFUSE·walk origin context changed without declared lineage/); + const extended=document('new-left-local',[row('sample/new','id','next')]);passed(left.root,['land',extended,'--key',left.name,'--key-file',left.key]); + const finalPeer=document('right-final-inventory',facts(inventory(right,0).stdout)),interruptionFile=document('interruption-payload',facts(inventory(left,8,finalPeer).stdout)); + // Interrupt a real CLI while its declared receiver signer is still preparing the receipt. + const waiting=join(temp,'waiting-signer.mjs'),marker=join(temp,'signer-ready'),registry=join(temp,'host-signers.json'); + writeFileSync(waiting,"import {writeFileSync} from 'node:fs'; process.stdin.resume(); process.stdin.on('end',()=>{writeFileSync(process.argv[2],'ready');setInterval(()=>{},1000)});\n"); + writeFileSync(registry,JSON.stringify({'waiting-command':{kind:'command',executable:process.execPath,args:[waiting,marker]}})); + const ingressBefore=snapshot(join(right.root,'.bound','ingress')),ledgerBefore=snapshot(join(right.root,'.bound','ledger')),lockBefore=readFileSync(join(right.root,'TARGET.bound'),'utf8'); + const interrupted=spawn(process.execPath,[reader,'land',interruptionFile,'--key','importer'],{cwd:right.root,env:{...process.env,BOUND_SIGNERS:registry},detached:true,stdio:['ignore','pipe','pipe']}); + let interruptedOut='',interruptedErr='';interrupted.stdout.on('data',b=>interruptedOut+=b);interrupted.stderr.on('data',b=>interruptedErr+=b); + const completion=new Promise(resolve=>interrupted.on('close',(status,signal)=>resolve({status,signal}))); + try { + const until=Date.now()+4000;while(Date.now()setTimeout(resolve,10)); + assert.ok(readdirSync(temp).includes('signer-ready'),'real receiver signer must be invoked before interruption'); + } finally {try{process.kill(-interrupted.pid,'SIGKILL')}catch{}} + const interruptedStatus=await completion;captures.push({args:['land','','--key','importer'],...interruptedStatus,stdout:interruptedOut,stderr:interruptedErr}); + assert.equal(interruptedStatus.signal,'SIGKILL');assert.deepEqual(snapshot(join(right.root,'.bound','ledger')),ledgerBefore);assert.equal(readFileSync(join(right.root,'TARGET.bound'),'utf8'),lockBefore); + assert.deepEqual(snapshot(join(right.root,'.bound','ingress')),ingressBefore,'interrupted ingress adds neither evidence nor receipt'); + const stale=run(right.root,['land',interruptionFile,'--key',right.name,'--key-file',right.key]);assert.notEqual(stale.status,0);assert.match(stale.stderr,/REFUSE·stale .*host recovery required/);assert.deepEqual(snapshot(join(right.root,'.bound','ingress')),ingressBefore); + + return captures; + }finally{if(capture)writeFileSync(capture+'.'+family+'.json',JSON.stringify(captures,null,2)+'\n');rmSync(temp,{recursive:true,force:true})} +} diff --git a/tools/samples/typed-provider.mjs b/tools/samples/typed-provider.mjs new file mode 100644 index 0000000..8a516e3 --- /dev/null +++ b/tools/samples/typed-provider.mjs @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from '@lapxo/topos/forms'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/tools/samples/walk-sample-worker.mjs b/tools/samples/walk-sample-worker.mjs new file mode 100644 index 0000000..0af635a --- /dev/null +++ b/tools/samples/walk-sample-worker.mjs @@ -0,0 +1,6 @@ +import {parentPort,workerData} from 'node:worker_threads'; +import {publicInstrument} from './public-instrument.mjs'; +import {runWalkSample} from './run-walk.mjs'; +const instrument=await publicInstrument(workerData.reader); +try {parentPort.postMessage(await runWalkSample(instrument.reader,undefined,workerData.family,workerData.positive));} +finally {instrument.close();} diff --git a/vectors/015-stage-10.json b/vectors/015-stage-10.json new file mode 100644 index 0000000..bd86bae --- /dev/null +++ b/vectors/015-stage-10.json @@ -0,0 +1,47 @@ +{ + "scope": "pipeline/archive-conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/run-archive.mjs", + "samples/yes/015-stage-10.json", + "samples/no/015-stage-10.json" + ], + "cwd": ".", + "timeoutMs": 15000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ARCHIVE specimen-index" + }, + { + "stream": "stdout", + "pattern": "ARCHIVE route-notes" + }, + { + "stream": "stdout", + "pattern": "members equal \u00b7 one archive, two destinations" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7artifact digest-mismatch" + }, + { + "stream": "stdout", + "pattern": "ARTIFACT two unrelated places" + } + ], + "inputs": [ + "tools/samples/run-archive.mjs", + "samples/yes/015-stage-10.json", + "samples/no/015-stage-10.json" + ] + } + ] +} diff --git a/vectors/attest-evidence.json b/vectors/attest-evidence.json new file mode 100644 index 0000000..814a408 --- /dev/null +++ b/vectors/attest-evidence.json @@ -0,0 +1,163 @@ +{ + "scope": "contract/published/attest-evidence-view", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "evidence", + "samples/yes/attest-evidence.json", + "samples/no/attest-evidence.json" + ], + "cwd": ".", + "timeoutMs": 25000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "KEY-CLASS attest" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7signer south uncovered" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7signed" + }, + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/typed/artifacts.json", + "samples/typed/artifacts.vector.json", + "samples/typed/contract.json", + "samples/typed/no.json", + "samples/typed/range.vector.json", + "samples/typed/wire.json", + "samples/typed/yes.json", + "samples/yes/attest-evidence.json", + "samples/no/attest-evidence.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/historical-build.json b/vectors/historical-build.json new file mode 100644 index 0000000..72a3b20 --- /dev/null +++ b/vectors/historical-build.json @@ -0,0 +1,164 @@ +{ + "scope": "historical-build/conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "historical-build", + "samples/yes/historical-build.json", + "samples/no/historical-build.json" + ], + "cwd": ".", + "timeoutMs": 15000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "RENDERED tsconfig.json \u00b7 view/tsconfig" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view view/unoffered" + }, + { + "stream": "stdout", + "pattern": "BUILD two places; exact configuration; two equal readings; unoffered view refused" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-build-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-build.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/historical-build.json", + "samples/no/historical-build.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/historical-document-views.json b/vectors/historical-document-views.json new file mode 100644 index 0000000..59f3150 --- /dev/null +++ b/vectors/historical-document-views.json @@ -0,0 +1,190 @@ +{ + "scope": "historical-document-views/conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "historical-document-views", + "samples/yes/historical-document-views.json", + "samples/no/historical-document-views.json" + ], + "cwd": ".", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "HISTORICAL citation, guide, reference; two places; two exact readings; unoffered view refused" + }, + { + "stream": "stdout", + "pattern": "RENDERED CITATION.cff \u00b7 view/citation-file" + }, + { + "stream": "stdout", + "pattern": "RENDERED docs/guide.md \u00b7 view/guide" + }, + { + "stream": "stdout", + "pattern": "RENDERED docs/reference.md \u00b7 view/reference" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view view/unoffered" + }, + { + "stream": "stdout", + "pattern": "RENDERED tsconfig.json \u00b7 view/tsconfig" + }, + { + "stream": "stdout", + "pattern": "RENDERED docs/why.md" + }, + { + "stream": "stdout", + "pattern": "RENDERED README.md" + }, + { + "stream": "stdout", + "pattern": "9 renders \u00b7 9 same" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view conflicting prose" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/historical-document-views.json", + "samples/no/historical-document-views.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/historical-presentation.json b/vectors/historical-presentation.json new file mode 100644 index 0000000..4ca12c5 --- /dev/null +++ b/vectors/historical-presentation.json @@ -0,0 +1,174 @@ +{ + "scope": "historical-presentation/conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "historical-presentation", + "samples/yes/historical-presentation.json", + "samples/no/historical-presentation.json" + ], + "cwd": ".", + "timeoutMs": 15000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "RENDERED docs/why.md" + }, + { + "stream": "stdout", + "pattern": "RENDERED README.md" + }, + { + "stream": "stdout", + "pattern": "2 renders \u00b7 2 same" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view view/unoffered" + }, + { + "stream": "stdout", + "pattern": "HISTORICAL explanation and README; two places; exact prose; absent evidence not invented; unoffered view refused" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-build-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/historical-presentation-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-build.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-historical-presentation.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/historical-presentation.json", + "samples/no/historical-presentation.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/native-views.json b/vectors/native-views.json new file mode 100644 index 0000000..9fa7665 --- /dev/null +++ b/vectors/native-views.json @@ -0,0 +1,159 @@ +{ + "scope": "native-views/conformance", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "native-views", + "samples/yes/native-views.json", + "samples/no/native-views.json" + ], + "cwd": ".", + "timeoutMs": 25000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "verbs fold land sign" + }, + { + "stream": "stdout", + "pattern": "scope=receipts .*measure=digest|measure=digest .*scope=receipts" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view" + }, + { + "stream": "stdout", + "pattern": "KEY-CLASS attest" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/native-views.json", + "samples/no/native-views.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ], + "execution": "independent" +} diff --git a/vectors/native-walk.json b/vectors/native-walk.json new file mode 100644 index 0000000..77333ac --- /dev/null +++ b/vectors/native-walk.json @@ -0,0 +1,1058 @@ +{ + "status": "Native compiled development CLI captures; not release acceptance", + "reader": "dist/cli/verb.js", + "sourceConditions": false, + "receiptSource": "Native signed import receipt; no harness-written receipt", + "places": [ + { + "place": "measurement", + "captureSha256": "91b8ab4ddcb3ace3c800b6dd58d53bfc80a26bf4a13e66c2aa6873a8b6e16d62", + "commands": [ + { + "args": [ + "fold", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/left-conflicting-wire.bound" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7document wire/fields writes id \u00b7 target has two live inscriptions without withdrawal\n" + }, + { + "args": [ + "fold", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/right-conflicting-wire.bound" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7document wire/fields writes id \u00b7 target has two live inscriptions without withdrawal\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 0 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 0 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 1 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@1", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/right-inventory.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 1 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/right-inventory.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 1 touched regions \u00b7 1 open regions \u00b7 235 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/altered.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk region digest or count mismatch receipts/left-ledger/sample\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/partial-payload.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk partial or extra payload\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/outside-prefix.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk foreign epoch is outside the authenticated prefix\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/unauthorized-prefix.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk metadata is not authenticated\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/stale-base.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk stale receiver base\n" + }, + { + "args": [ + "fold", + "--as", + "walk@2", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk unsupported resolution\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/left-payload.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "INGRESS 1 new evidence lines \u00b7 1 signed local import receipt", + "EXCHANGE 235 payload bytes \u00b7 1311 protocol bytes \u00b7 1546 new evidence bytes \u00b7 357 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/left-payload.bound" + ], + "status": 0, + "signal": null, + "stdout": [ + "ONCE 0 new evidence lines \u00b7 1 retained import receipt", + "EXCHANGE 235 payload bytes \u00b7 1311 protocol bytes \u00b7 0 new evidence bytes \u00b7 0 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/missing-earlier-prefix.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk foreign history is not an extension of its verified prefix\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/inserted-at-verified-epoch.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk foreign epoch does not match the verified prefix\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/right-acknowledged.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 0 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/no-payload.bound" + ], + "status": 0, + "signal": null, + "stdout": [ + "ONCE 0 new evidence lines \u00b7 0 import receipts \u00b7 no regions offered", + "EXCHANGE 0 payload bytes \u00b7 439 protocol bytes \u00b7 0 new evidence bytes \u00b7 0 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 1 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/left-inventory.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 1 touched regions \u00b7 1 open regions \u00b7 237 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/right-payload.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "INGRESS 1 new evidence lines \u00b7 1 signed local import receipt", + "EXCHANGE 237 payload bytes \u00b7 1316 protocol bytes \u00b7 1553 new evidence bytes \u00b7 356 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "evidence" + ], + "status": 0, + "signal": null, + "stdout": [ + "FACT authenticated histories \u00b7 readings \u00b7 no encounters computed" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/left-payload.bound" + ], + "status": 0, + "signal": null, + "stdout": [ + "ONCE 0 new evidence lines \u00b7 1 retained import receipt", + "EXCHANGE 235 payload bytes \u00b7 1311 protocol bytes \u00b7 0 new evidence bytes \u00b7 0 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/undeclared-context-lineage.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk origin context changed without declared lineage\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/right-final-inventory.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 1 touched regions \u00b7 1 open regions \u00b7 462 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "", + "--key", + "importer" + ], + "status": null, + "signal": "SIGKILL", + "stdout": [], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-R6lbBD/interruption-payload.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7crash source: REFUSE\u00b7stale the store belongs to exited process 13710; host recovery required\n" + } + ] + }, + { + "place": "artifact", + "captureSha256": "4c8fe9c46cd8cc0111631c411b471cfca5688c4174fb18c75a400ee395ca9134", + "commands": [ + { + "args": [ + "fold", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/left-conflicting-wire.bound" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7document wire/fields writes id \u00b7 target has two live inscriptions without withdrawal\n" + }, + { + "args": [ + "fold", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/right-conflicting-wire.bound" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7document wire/fields writes id \u00b7 target has two live inscriptions without withdrawal\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 0 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 0 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 1 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@1", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/right-inventory.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 1 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/right-inventory.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 1 touched regions \u00b7 1 open regions \u00b7 232 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/altered.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk region digest or count mismatch receipts/left-ledger/sample\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/partial-payload.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk partial or extra payload\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/outside-prefix.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk foreign epoch is outside the authenticated prefix\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/unauthorized-prefix.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk metadata is not authenticated\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/stale-base.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk stale receiver base\n" + }, + { + "args": [ + "fold", + "--as", + "walk@2", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk unsupported resolution\n" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/left-payload.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "INGRESS 1 new evidence lines \u00b7 1 signed local import receipt", + "EXCHANGE 232 payload bytes \u00b7 1311 protocol bytes \u00b7 1543 new evidence bytes \u00b7 357 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/left-payload.bound" + ], + "status": 0, + "signal": null, + "stdout": [ + "ONCE 0 new evidence lines \u00b7 1 retained import receipt", + "EXCHANGE 232 payload bytes \u00b7 1311 protocol bytes \u00b7 0 new evidence bytes \u00b7 0 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/missing-earlier-prefix.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk foreign history is not an extension of its verified prefix\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/inserted-at-verified-epoch.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk foreign epoch does not match the verified prefix\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/right-acknowledged.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 0 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/no-payload.bound" + ], + "status": 0, + "signal": null, + "stdout": [ + "ONCE 0 new evidence lines \u00b7 0 import receipts \u00b7 no regions offered", + "EXCHANGE 0 payload bytes \u00b7 439 protocol bytes \u00b7 0 new evidence bytes \u00b7 0 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 1 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/left-inventory.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 1 touched regions \u00b7 1 open regions \u00b7 234 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/right-payload.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "INGRESS 1 new evidence lines \u00b7 1 signed local import receipt", + "EXCHANGE 234 payload bytes \u00b7 1316 protocol bytes \u00b7 1550 new evidence bytes \u00b7 356 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "evidence" + ], + "status": 0, + "signal": null, + "stdout": [ + "FACT authenticated histories \u00b7 readings \u00b7 no encounters computed" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/left-payload.bound" + ], + "status": 0, + "signal": null, + "stdout": [ + "ONCE 0 new evidence lines \u00b7 1 retained import receipt", + "EXCHANGE 232 payload bytes \u00b7 1311 protocol bytes \u00b7 0 new evidence bytes \u00b7 0 new receipt bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/undeclared-context-lineage.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7walk origin context changed without declared lineage\n" + }, + { + "args": [ + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 0 touched regions \u00b7 2 open regions \u00b7 0 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "fold", + "--as", + "walk@8", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/right-final-inventory.bound", + "--key", + "left", + "--key-file", + "[ephemeral key]" + ], + "status": 0, + "signal": null, + "stdout": [ + "EXCHANGE 1 touched regions \u00b7 1 open regions \u00b7 459 payload bytes" + ], + "stderr": "" + }, + { + "args": [ + "land", + "", + "--key", + "importer" + ], + "status": null, + "signal": "SIGKILL", + "stdout": [], + "stderr": "" + }, + { + "args": [ + "land", + "/var/folders/tp/mb5pflh94rxbjrtbkvwpg8v00000gn/T/bound-native-walk-sVHJP2/interruption-payload.bound", + "--key", + "right", + "--key-file", + "[ephemeral key]" + ], + "status": 1, + "signal": null, + "stdout": [], + "stderr": "source: REFUSE\u00b7crash source: REFUSE\u00b7stale the store belongs to exited process 13770; host recovery required\n" + } + ] + } + ] +} diff --git a/vectors/process/admission-boundary.vector.json b/vectors/process/admission-boundary.vector.json index 704766e..c9c8106 100644 --- a/vectors/process/admission-boundary.vector.json +++ b/vectors/process/admission-boundary.vector.json @@ -2,17 +2,39 @@ "scope": "admission/one-boundary", "measure": "count", "result": "failures", - "cases": [{ - "program": "runtime", - "args": ["vectors/process/source-tests.mjs", "test/admission-boundary.test.ts"], - "cwd": ".", - "timeoutMs": 70000, - "maxBytes": 4194304, - "exit": 0, - "matches": [ - {"stream":"stdout","pattern":"# fail 0(?:\\n|$)"}, - {"stream":"stdout","pattern":"# pass [1-9][0-9]*(?:\\n|$)"} - ], - "inputs": ["vectors/process/source-tests.mjs", "src/cli/verb.ts", "src/cli/accept.ts", "src/host/selected-topos.ts", "test/admission-boundary.test.ts", "samples/admission/yes/one-boundary.json", "samples/admission/no/one-boundary.json", "TARGET.bound", "package.json"] - }] + "cases": [ + { + "program": "runtime", + "args": [ + "vectors/process/source-tests.mjs", + "test/admission-boundary.test.ts" + ], + "cwd": ".", + "timeoutMs": 70000, + "maxBytes": 4194304, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "# fail 0(?:\\n|$)" + }, + { + "stream": "stdout", + "pattern": "# pass [1-9][0-9]*(?:\\n|$)" + } + ], + "inputs": [ + "vectors/process/source-tests.mjs", + "src/cli/verb.ts", + "src/cli/accept.ts", + "src/host/selected-topos.ts", + "test/admission-boundary.test.ts", + "samples/admission/yes/one-boundary.json", + "samples/admission/no/one-boundary.json", + "TARGET.bound", + "package.json" + ] + } + ], + "execution": "independent" } diff --git a/vectors/process/closed.vector.json b/vectors/process/closed.vector.json index 933c233..f290748 100644 --- a/vectors/process/closed.vector.json +++ b/vectors/process/closed.vector.json @@ -31,5 +31,6 @@ "dist/cli/verb.js" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/flags.vector.json b/vectors/process/flags.vector.json index cdec804..e53ad41 100644 --- a/vectors/process/flags.vector.json +++ b/vectors/process/flags.vector.json @@ -29,5 +29,6 @@ "dist/cli/verb.js" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/help.capture.json b/vectors/process/help.capture.json index 897d1d9..68a7367 100644 --- a/vectors/process/help.capture.json +++ b/vectors/process/help.capture.json @@ -25,5 +25,6 @@ "dist/cli/verb.js" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/idempotent.vector.json b/vectors/process/idempotent.vector.json index 05f3c45..1c2eb40 100644 --- a/vectors/process/idempotent.vector.json +++ b/vectors/process/idempotent.vector.json @@ -32,5 +32,6 @@ "test/bootstrap.test.ts" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/meeting.capture.json b/vectors/process/meeting.capture.json index b422d21..fe6af3b 100644 --- a/vectors/process/meeting.capture.json +++ b/vectors/process/meeting.capture.json @@ -31,5 +31,6 @@ "package.json" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/nothing-deleted.vector.json b/vectors/process/nothing-deleted.vector.json index c70a44a..ef60961 100644 --- a/vectors/process/nothing-deleted.vector.json +++ b/vectors/process/nothing-deleted.vector.json @@ -31,5 +31,6 @@ "test/owned-history.test.ts" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/offline.vector.json b/vectors/process/offline.vector.json index c83894f..c4a7bf3 100644 --- a/vectors/process/offline.vector.json +++ b/vectors/process/offline.vector.json @@ -32,5 +32,6 @@ "test/source-content.test.ts" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/one-writer.vector.json b/vectors/process/one-writer.vector.json index 14844f7..6b01607 100644 --- a/vectors/process/one-writer.vector.json +++ b/vectors/process/one-writer.vector.json @@ -31,5 +31,6 @@ "test/act.test.ts" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/refuse.vector.json b/vectors/process/refuse.vector.json index d7881ce..682fcc1 100644 --- a/vectors/process/refuse.vector.json +++ b/vectors/process/refuse.vector.json @@ -25,5 +25,6 @@ "dist/cli/verb.js" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/resolve-by-url.vector.json b/vectors/process/resolve-by-url.vector.json index 6011431..a047b89 100644 --- a/vectors/process/resolve-by-url.vector.json +++ b/vectors/process/resolve-by-url.vector.json @@ -32,5 +32,6 @@ "test/source-content.test.ts" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/stranger.vector.json b/vectors/process/stranger.vector.json index 3cfdc80..3395851 100644 --- a/vectors/process/stranger.vector.json +++ b/vectors/process/stranger.vector.json @@ -41,5 +41,6 @@ "dist/cli/verb.js" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/usage.vector.json b/vectors/process/usage.vector.json index 90c7836..bb2ec32 100644 --- a/vectors/process/usage.vector.json +++ b/vectors/process/usage.vector.json @@ -25,5 +25,6 @@ "dist/cli/verb.js" ] } - ] + ], + "execution": "independent" } diff --git a/vectors/program-views.json b/vectors/program-views.json new file mode 100644 index 0000000..42b7252 --- /dev/null +++ b/vectors/program-views.json @@ -0,0 +1,168 @@ +{ + "scope": "program-views/conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "program-views", + "samples/yes/program-views.json", + "samples/no/program-views.json" + ], + "cwd": ".", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "PROGRAM deadline=unread closed=false" + }, + { + "stream": "stdout", + "pattern": "DEMAND tasks/collect unread" + }, + { + "stream": "stdout", + "pattern": "DEMAND tasks/prepare unread" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7program dependency cycle" + }, + { + "stream": "stdout", + "pattern": "PROGRAMS two places; card and programs; two equal readings" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/program-views.json", + "samples/no/program-views.json", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/prose-views.json b/vectors/prose-views.json new file mode 100644 index 0000000..b9f8972 --- /dev/null +++ b/vectors/prose-views.json @@ -0,0 +1,155 @@ +{ + "scope": "prose-views/conformance", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "prose-views", + "samples/yes/prose-views.json", + "samples/no/prose-views.json" + ], + "cwd": ".", + "timeoutMs": 25000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "PROSE three named views; two places; two exact readings; disagreement refused" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view conflicting prose" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/prose-views.json", + "samples/no/prose-views.json", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ], + "execution": "independent" +} diff --git a/vectors/query-views.json b/vectors/query-views.json new file mode 100644 index 0000000..6e2e5cc --- /dev/null +++ b/vectors/query-views.json @@ -0,0 +1,160 @@ +{ + "scope": "query-views/conformance", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "query-views", + "samples/yes/query-views.json", + "samples/no/query-views.json" + ], + "cwd": ".", + "timeoutMs": 15000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "WHY +sample/selection" + }, + { + "stream": "stdout", + "pattern": "WHY +sample/package" + }, + { + "stream": "stdout", + "pattern": "OPEN +not-declared.txt" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/query-views.json", + "samples/no/query-views.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ], + "execution": "independent" +} diff --git a/vectors/signing-port.json b/vectors/signing-port.json new file mode 100644 index 0000000..062c3ea --- /dev/null +++ b/vectors/signing-port.json @@ -0,0 +1,150 @@ +{ + "scope": "signing-port/conformance", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "signing", + "samples/yes/signing-port.json", + "samples/no/signing-port.json" + ], + "cwd": ".", + "timeoutMs": 15000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "SIGNING file-command-equivalent; one invocation per lot; atomic refusals" + }, + { + "stream": "stdout", + "pattern": "REFUSE" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/signing-port.json", + "samples/no/signing-port.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ], + "execution": "independent" +} diff --git a/vectors/typed-object.json b/vectors/typed-object.json new file mode 100644 index 0000000..5c143b5 --- /dev/null +++ b/vectors/typed-object.json @@ -0,0 +1,164 @@ +{ + "scope": "contract/published/typed-object-sample", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "typed-object", + "samples/yes/typed-object.json", + "samples/no/typed-object.json" + ], + "cwd": ".", + "timeoutMs": 25000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "\"state\":\"FREE\"" + }, + { + "stream": "stdout", + "pattern": "\"state\":\"FORBIDDEN\"" + }, + { + "stream": "stdout", + "pattern": "\"state\":\"CONFLICT\"" + }, + { + "stream": "stdout", + "pattern": "NEGATIVE floor-local .*REFUSE" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/typed/artifacts.json", + "samples/typed/artifacts.vector.json", + "samples/typed/contract.json", + "samples/typed/no.json", + "samples/typed/range.vector.json", + "samples/typed/wire.json", + "samples/typed/yes.json", + "samples/yes/typed-object.json", + "samples/no/typed-object.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ], + "execution": "independent" +} diff --git a/vectors/walk-publication.json b/vectors/walk-publication.json new file mode 100644 index 0000000..b63e3f7 --- /dev/null +++ b/vectors/walk-publication.json @@ -0,0 +1,181 @@ +{ + "scope": "walk/conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-walk-publication.mjs", + "samples/yes/walk.json", + "samples/no/walk.json" + ], + "cwd": ".", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "PLACE measurement" + }, + { + "stream": "stdout", + "pattern": "PLACE artifact" + }, + { + "stream": "stdout", + "pattern": "EXCHANGE [0-9]+ payload bytes" + }, + { + "stream": "stdout", + "pattern": "INGRESS [0-9]+ new evidence lines" + }, + { + "stream": "stdout", + "pattern": "ONCE 0 new evidence lines" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7walk" + } + ], + "inputs": [ + "TARGET.bound", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "samples/walk/no.json", + "samples/walk/yes.json", + "tools/samples/check-publication.mjs", + "tools/samples/check-walk-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-build-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/historical-presentation-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/public-instrument.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-build.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-historical-presentation.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/walk.json", + "samples/no/walk.json", + "tools/samples/walk-sample-worker.mjs", + "dist/host/act-cost.js" + ] + } + ] +} From b94026ee85005bc087491615df01cfb754511f23 Mon Sep 17 00:00:00 2001 From: NahumDev <60716442+NahumOchoa@users.noreply.github.com> Date: Wed, 7 Oct 2026 23:17:41 -0600 Subject: [PATCH 2/6] Group public contracts and document executable usage --- README.md | 30 + TARGET.bound | 63 +- .../archive-conformance.publication.json | 10 +- .../contracts/{015-stage-10.md => archive.md} | 0 docs/contracts/cli-fold.md | 3 - docs/contracts/cli-fold.publication.json | 4 +- docs/contracts/cli-land.md | 3 - docs/contracts/cli-land.publication.json | 4 +- docs/contracts/cli-sign.md | 3 - docs/contracts/cli-sign.publication.json | 4 +- docs/contracts/cli.md | 11 + docs/contracts/documents.md | 35 + docs/contracts/typed-object.md | 2 +- docs/contracts/typed-object.publication.json | 2 +- docs/contracts/view-card.md | 3 - docs/contracts/view-card.publication.json | 4 +- docs/contracts/view-citation-file.md | 3 - .../view-citation-file.publication.json | 4 +- docs/contracts/view-explanation.md | 3 - .../view-explanation.publication.json | 4 +- docs/contracts/view-guide.md | 3 - docs/contracts/view-guide.publication.json | 4 +- docs/contracts/view-help.md | 3 - docs/contracts/view-help.publication.json | 4 +- docs/contracts/view-lines.md | 3 - docs/contracts/view-lines.publication.json | 4 +- docs/contracts/view-manifest-render.md | 3 - .../view-manifest-render.publication.json | 4 +- docs/contracts/view-programs.md | 3 - docs/contracts/view-programs.publication.json | 4 +- docs/contracts/view-readme-historical.md | 3 - .../view-readme-historical.publication.json | 4 +- docs/contracts/view-receipts.md | 9 - docs/contracts/view-receipts.publication.json | 4 +- docs/contracts/view-reference.md | 3 - .../contracts/view-reference.publication.json | 4 +- .../contracts/view-release-workflow-render.md | 3 - ...w-release-workflow-render.publication.json | 4 +- docs/contracts/view-tsconfig.md | 3 - docs/contracts/view-tsconfig.publication.json | 4 +- docs/contracts/view-usage-profile.md | 3 - .../view-usage-profile.publication.json | 4 +- docs/contracts/view-why.md | 3 - docs/contracts/view-why.publication.json | 4 +- docs/contracts/views.md | 29 + docs/reference.md | 23 +- docs/why.md | 30 + package.json | 10 +- receipts.bound | 599 +++++++++--------- ...stage-10.json => archive-conformance.json} | 0 ...stage-10.json => archive-conformance.json} | 0 test/instrument-closure.test.ts | 2 +- ...stage-10.json => archive-conformance.json} | 8 +- 53 files changed, 511 insertions(+), 475 deletions(-) rename docs/contracts/{015-stage-10.md => archive.md} (100%) delete mode 100644 docs/contracts/cli-fold.md delete mode 100644 docs/contracts/cli-land.md delete mode 100644 docs/contracts/cli-sign.md create mode 100644 docs/contracts/cli.md create mode 100644 docs/contracts/documents.md delete mode 100644 docs/contracts/view-card.md delete mode 100644 docs/contracts/view-citation-file.md delete mode 100644 docs/contracts/view-explanation.md delete mode 100644 docs/contracts/view-guide.md delete mode 100644 docs/contracts/view-help.md delete mode 100644 docs/contracts/view-lines.md delete mode 100644 docs/contracts/view-manifest-render.md delete mode 100644 docs/contracts/view-programs.md delete mode 100644 docs/contracts/view-readme-historical.md delete mode 100644 docs/contracts/view-receipts.md delete mode 100644 docs/contracts/view-reference.md delete mode 100644 docs/contracts/view-release-workflow-render.md delete mode 100644 docs/contracts/view-tsconfig.md delete mode 100644 docs/contracts/view-usage-profile.md delete mode 100644 docs/contracts/view-why.md create mode 100644 docs/contracts/views.md rename samples/no/{015-stage-10.json => archive-conformance.json} (100%) rename samples/yes/{015-stage-10.json => archive-conformance.json} (100%) rename vectors/{015-stage-10.json => archive-conformance.json} (83%) diff --git a/README.md b/README.md index 4750ed6..5585d31 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,32 @@ npx @lapxo/bound@0.1.5 fold Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals. +## Use Bound in a project + +From a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs: + +```sh +npx @lapxo/bound@0.1.5 fold --as lines +npx @lapxo/bound@0.1.5 fold --as receipts@1 +npx @lapxo/bound@0.1.5 fold --check +``` + +Use this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters. + +For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. + +Run the executable example with the installed CLI: + +```sh +npm install @lapxo/bound@0.1.5 +node node_modules/@lapxo/bound/tools/samples/run-typed.mjs +``` + +The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). + +A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. + + ## A meeting everyone can understand Ana is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain. @@ -97,3 +123,7 @@ A pin names standing, not a download URL or runtime entry. Its declared artifact Use Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true. [Contribute a counterexample or a proposed lot](CONTRIBUTING.md). + +## Foundations and related libraries + +The two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true. diff --git a/TARGET.bound b/TARGET.bound index 5783450..d7a6f7e 100644 --- a/TARGET.bound +++ b/TARGET.bound @@ -1,29 +1,14 @@ -bound-lock/1 about="# @lapxo/bound\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n" at=witness:bound/015-prose-version by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock +bound-lock/1 about="# @lapxo/bound\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary.\n\nRun `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins.\n\nThe no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped.\n" at=witness:publication-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock -bound-lock/1 about="# Build configuration — historical profile\n\nThe declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract.\n" at=witness:historical-build-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-tsconfig shape=docs/contracts/view-tsconfig.md value=lock -bound-lock/1 about="# Citation file — historical profile\n\nThe declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract.\n" at=witness:historical-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-citation-file shape=docs/contracts/view-citation-file.md value=lock bound-lock/1 about="# Contributing to Bound\n\nBring a counterexample, an observation or a proposed lot. Include the inputs and the output that led you to it. A signature establishes who was authorized to speak; it does not make their result true.\n\n## Set up a working copy\n\nClone the repository and use the Node version supported by package.json. If package-lock.json is present, run npm ci; otherwise use npm install --ignore-scripts --no-package-lock. Then run:\n\n```sh\nnpm run build\nnpm test\n```\n\nThese are development checks, not project acceptance. For a place with admitted trust context and native receipts, run the product judgement as well:\n\n```sh\nnpx @lapxo/bound@0.1.0 fold --check\n```\n\nPreserve a refusal and its exit status in your report. Do not borrow a neighbouring checkout's ledger or substitute local bytes for a named pin.\n\n## Make the smallest useful change\n\nBound owns admission, folding and evidence. Topos owns grammar, forms, classes, views and their contracts. A selected topos owns domain measurement. Obligations owns the algebra. Keep each change in its layer; do not put a domain decoder, path-based inference or a fallback for a missing pin into Bound.\n\nAn algebra change needs an independent oracle and a counterexample. A host change needs evidence for authentic bytes, failure propagation or reuse. A view change needs its declared region and implementation identity. A test should fail for a plausible incorrect implementation, not assert a source string or repeat the same expression on both sides.\n\nKeep regressions for changed signatures, unauthorized coverage, exact-id withdrawal, conflicting evidence, local versus travelling acts, corrupt content and duplicate delivery. Consolidate repeated setup and duplicate scenarios without removing distinct falsifiers.\n\n## Propose and admit\n\nKeep proposal and signed-lot files outside the repository. Use the current admitted wire, by=target, and no preassigned epoch or signature. The team's admitted key signs the lot; Bound admits it under scope coverage. The [usage guide](docs/usage.md) explains the transaction and external key-file requirements.\n\nSend the proposed lines with the leaf changes they render. A hand-edited render is evidence of the intended change, not an admitted contribution. Do not edit the accepted TARGET to make a test or ceiling pass. If a render disagrees with the lock, fix the proposed lines and re-render it.\n\nCommit only the project's TARGET.bound and native receipts.bound as bound files. The first .gitignore line excludes .bound/. Do not commit keys, stores, ledgers, caches, capsules, archives or vendored dependencies.\n\n## Submit a pull request\n\nExplain the concrete behavior before and after the change, the affected layer, and the checks you ran. Include stdout, stderr and exit status for a CLI case. State which reader and input bytes produced the evidence; a source harness is not an installed-package proof.\n\nPolicy changes receive explicit team review separately from measurements of the proposed source. Keep incompatible readings and their origins visible. Never remove a failing test or weaken a ceiling to obtain acceptance. Withdraw statements through their admitted history; do not rewrite prior signatures, tags or releases.\n\nDocumentation and workflows follow the same review: propose their lines and include the rendered changes.\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-1 shape=CONTRIBUTING.md value=lock -bound-lock/1 about="# Declared programs\n\nThe programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed.\n" at=witness:declared-program-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-programs shape=docs/contracts/view-programs.md value=lock -bound-lock/1 about="# Demand card\n\nThe declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance.\n" at=witness:declared-program-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-card shape=docs/contracts/view-card.md value=lock -bound-lock/1 about="# Exact release artifact\n\nPacking is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes.\n\nThe archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed.\n\nThe samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan.\n\nThis is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions.\n\nRendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file.\n" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/archive-conformance shape=docs/contracts/015-stage-10.md value=lock -bound-lock/1 about="# Explanation — historical profile\n\nThe declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose.\n" at=witness:historical-presentation-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-explanation shape=docs/contracts/view-explanation.md value=lock -bound-lock/1 about="# Guide — historical profile\n\nThe declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound.\n" at=witness:historical-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-guide shape=docs/contracts/view-guide.md value=lock -bound-lock/1 about="# Help view\n\nA declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider.\n" at=witness:native-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/view-help shape=docs/contracts/view-help.md value=lock -bound-lock/1 about="# Lines view\n\nA declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading.\n" at=witness:native-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/view-lines shape=docs/contracts/view-lines.md value=lock -bound-lock/1 about="# Manifest render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package.\n" at=witness:prose-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-manifest-render shape=docs/contracts/view-manifest-render.md value=lock +bound-lock/1 about="# Exact release artifact\n\nPacking is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes.\n\nThe archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed.\n\nThe samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan.\n\nThis is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions.\n\nRendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-archive shape=docs/contracts/archive.md value=lock +bound-lock/1 about="# Explanation — historical profile\n\nThe declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose.\n\n# README — historical profile\n\nThe declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid.\n\n# Citation file — historical profile\n\nThe declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract.\n\n# Guide — historical profile\n\nThe declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound.\n\n# Reference — historical profile\n\nThe declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid.\n\n# Manifest render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package.\n\n# Workflow render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate.\n\n# Usage render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors.\n\n# Build configuration — historical profile\n\nThe declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-documents shape=docs/contracts/documents.md value=lock +bound-lock/1 about="# Help view\n\nA declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider.\n\n# Lines view\n\nA declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading.\n\n# Receipts view\n\nThe native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n\n# Why a coordinate\n\n`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing.\n\n# Declared programs\n\nThe programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed.\n\n# Demand card\n\nThe declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-views shape=docs/contracts/views.md value=lock bound-lock/1 about="# Published contracts\n\nEvery public surface names its contract, accepted sample, captured executable vector and rejected sample. Missing members, differing artifact digests and failed vectors remain unpaid. Publication conformance is distinct from installed-artifact acceptance.\n\nThe selected Topos projects each quartet as a reading through the existing wire. Execution proofs are dependency readings; identical vector bytes share one proof. Each reading names its exact handed inputs and dependent receipt digests. Bound verifies those closures and keeps native count/bytes receipts by digest. A closed reading costs no new execution. The publication aggregate reads the quartet receipts; it never starts an inventory batch.\n\nExecution slots, per-execution timeout and response bytes are declared resource lines in the selected Topos. Bounds remain unchanged. A failed reading is not cached as a successful proof. Earlier completed readings stay verified, so a later refusal does not force them to execute again. Changed, missing or corrupt bytes cannot reuse their receipts. Output and execution history retain their exact coordinates.\n\n## Act cost\n\nEach declared reading and each host invocation is measured separately. The total duration of a pass is a diagnostic; it is not the cost of one indivisible act. The cost/act ceiling reads the largest measured act or the remaining unpartitioned host work. Nested invocations are not charged twice. A slow or refused act retains its cost. Native reading receipts retain measured seconds separately from semantic identity; reusing a receipt performs no new reader execution. Missing historical durations are not invented as zero.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n" at=witness:public-receipts-verify-without-private-store by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-contract shape=docs/contracts/publication.md value=lock -bound-lock/1 about="# README — historical profile\n\nThe declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid.\n" at=witness:historical-presentation-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-readme-historical shape=docs/contracts/view-readme-historical.md value=lock -bound-lock/1 about="# Receipts view\n\nThe native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n" at=witness:public-receipts-verify-without-private-store by=target form=alphabet measure=text role=writes scope=prose/en/files/view-receipts shape=docs/contracts/view-receipts.md value=lock -bound-lock/1 about="# Reference — historical profile\n\nThe declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid.\n" at=witness:historical-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-reference shape=docs/contracts/view-reference.md value=lock -bound-lock/1 about="# Usage render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors.\n" at=witness:prose-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-usage-profile shape=docs/contracts/view-usage-profile.md value=lock bound-lock/1 about="# Using Bound\n\nThis guide covers the current CLI in a place whose wire and authority are already admitted. A fresh unsigned TARGET is a proposal, not a trusted project. The prepared repository is not yet a certified empty-clone bootstrap.\n\n## Before the first fold\n\nYou need the team's accepted TARGET and trust context, authentic bytes for each selected digest, and the readers/views that TARGET names. Do not borrow a neighbouring repository's ledger or copy node_modules to make a missing pin look available.\n\nThe published repository carries exactly TARGET.bound and receipts.bound as bound files. Local admission history lives in the ignored .bound/ store. Published standing excludes the signature envelope; owner public keys retain their signatures.\n\nStart by asking for help and folding the project. If a selected view is unavailable, use the named refusal and its fix; do not invent an output with a similar name.\n\n## Keys and coverage\n\nUse a named key already admitted by the project. The authority contract declares its public key, class and scope coverage. Signing uses a declared port. The lock names `keys/ measure=signer value=`; `signer/timeout` and `signer/response-bytes` bound each invocation. The built-in `file` port reads a matching PKCS8 PEM outside the repository through `--key-file`. For a command port, the host supplies a `BOUND_SIGNERS` registry mapping that admitted name to `{ \"kind\": \"command\", \"executable\": \"...\", \"args\": [] }`. A repository declaration cannot authorize a program. `--signer ` must match the admitted selection.\n\nA new device must have its public key and coverage admitted by an authority that already covers the intended scope. The CLI does not currently certify silent key creation or tap-to-sign. This guide does not substitute a self-authorized fixture key for the team's authority.\n\nFor automation through the file port, supply the private key through the runner's secret storage to a temporary external file with restricted permissions. A command signer receives the lot once as canonical signed bytes, one line per record in order. It returns one canonical wire response per record, containing `by` and `sig`, in that same order. Bound verifies the entire reply against the admitted public key before any admission. Timeout, nonzero exit, missing or invalid replies refuse the whole lot; raw signer output is not logged. Hosts can keep private keys outside Bound through this port. Key generation, storage and rotation belong to the host. Do not print, commit or upload it. A source-control token and a Bound authority key have different purposes. Key rotation and revocation are changes to the admitted authority contract, not edits that erase prior signatures.\n\n## Proposal → signature → admission → reading\n\nPrepare the proposed lines outside the repository. Each line must use the current wire's fields, forms and required set. Configuration retains its legacy required fields, including `at`. Typed cells, claims and marks use their exact row grammar; `role=reads` or `at` cannot repair an incomplete typed record.\n\nA proposal names `by=target` and omits epoch/signature. The CLI assigns epoch from admitted history when signing. Never copy an epoch from an example or change a signed line's body.\n\nUse the signing and admission transaction in the README. Shell `&&` prevents a failed sign from being followed by land. Successful signing alone does not mean admission. Successful admission alone does not mean every requirement is paid. Fold after land and inspect its states, receipts and exit status.\n\nCLI sign authenticates wire inscriptions. It is different from the object's travelling ceiling sign. The selected Topos decodes spans and supplies origin/witness context; Bound must not guess those from by, widens or a path.\n\n## Reading and withdrawing\n\nAsk only for a view admitted by the project, such as cells. A local join widens that cell with a witness; it leaves the travelling ceiling live. A travelling require supplies a floor. Claims carry distinct origins; their signatures do not by themselves establish independent origins.\n\nFor typed histories, a negative record names the exact id in takes. Withdrawing a claim removes that live observation; withdrawing a join removes that local widening, not the sign. A fresh claim with the same content is a new identity, not resurrection of a withdrawn id. Re-delivery of the same signed bytes is idempotent.\n\nFor configuration, the negative line preserves the exact non-envelope selectors and changes value to withdraw. Do not withdraw and replace identical selectors in the same batch. Use a new epoch when superseding an alphabet declaration. Never withdraw evidence merely to obtain a green verdict.\n\n## Receipts and refusals\n\nreceipts.bound is native fold output. Do not write it by hand, use JSON from a test as a receipt, or copy receipts from another tree. Unchanged inputs can reuse verified region receipts; missing bytes require recomputation or a refusal. A duplicate receipt does not create another origin.\n\nREFUSE·wire means the current grammar does not admit the record. REFUSE·pin/release means named authentic content or its closure is unavailable or does not match. REFUSE·view means the requested view cannot be rendered under its contract. Authority refusal means the signer is not covered. Keep the line and the failed exit status; follow an explicit fix without changing the named digest or dropping a conflicting statement.\n\nrelease/blocks is policy read by the fold. Its admitted category links select existing obligations. The fold prints each missing reading or crossed ceiling as BLOCK; a blocked or incomplete policy is not READY. Read the captured verdict for the exact candidate instead of inferring acceptance from a successful render.\n\n## Repository and PR review\n\nThe accepted TARGET is independent of a contributor's scan. Commit native receipts and admitted renders, not local .bound/ state. A page disagreeing with TARGET must be re-rendered; a ceiling is not lowered to fit the page.\n\nA contribution is a proposed lot with the leaf changes rendered from it. Send that lot for admission by the team's coverage. Do not submit hand-edited lock output as already accepted. Check secrets, extra bound files, foreign vendoring and uncaptured page claims before review.\n\nA review includes the product fold, meaningful suites and verification of the rendered bytes. Preserve their actual output and exit status.\n\n## Declaring a demand\n\nA new demand records what remains to be proved. Admission does not create conformance evidence or pay it. An OWED line after land says the declaration was admitted and remains unpaid. Signing authority and conformance evidence are separate inputs.\n\nThe selected program projection reads declared requirements and handed evidence. Missing evidence stays unread; a missing elapsed-time reading is not zero. A dependency cannot close before its requirements and predecessors. Declaring a plan never certifies a release.\n" at=witness:declared-demand-close by=target form=alphabet measure=text role=writes scope=prose/en/files/public-2 shape=docs/usage.md value=lock bound-lock/1 about="# Walk\n\n`bound fold --as walk@` compares the admitted place with an authenticated peer inventory. Resolution is interpreted by the declared Topos selection and projection contract; it is not restricted to three fixed numbers. The wire declares region membership, context, origin and cuts. The output names touched regions, open regions and payload bytes; protocol and imported bytes carry their own units.\n\nForeign history retains its signed origin epoch. Sender keys authenticate that history and never grant coverage or independent origins in the receiver. Whole-region prefixes are verified before ingress. Import and the receiver-signed local receipt commit atomically; only that receipt advances the receiver's local epoch. Foreign withdrawals are confined to the same authenticated origin and exact identifier. A repeated valid delivery adds no lines and retains its existing import receipt. A rejected or interrupted ingress adds neither evidence nor a receipt.\n\nThe published sample uses the same compiled public reader on measurement and artifact places. It compares equal summaries, opens a differing region, exchanges at intermediate declared resolutions, converges by union, retains disagreement and verifies replay after a later local act. It rejects tampered payloads, missing records, unauthorized signatures, non-prefix epochs and undeclared context changes. It interrupts a real receiver signer and verifies unchanged ingress and local history. Dead-owner recovery is a separate host action; this view does not silently recover it. The typed object's origin-local claims and withdrawals are a separate conformance vector, not inferred from configuration counts.\n" at=witness:publish-native-walk-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/view-walk shape=docs/contracts/view-walk.md value=lock -bound-lock/1 about="# Why a coordinate\n\n`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing.\n" at=witness:coordinate-query-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/view-why shape=docs/contracts/view-why.md value=lock -bound-lock/1 about="# Workflow render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate.\n" at=witness:prose-view-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-release-workflow-render shape=docs/contracts/view-release-workflow-render.md value=lock -bound-lock/1 about="# fold\n\n`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately.\n" at=witness:cli-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/cli-fold shape=docs/contracts/cli-fold.md value=lock -bound-lock/1 about="# land\n\n`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot.\n" at=witness:cli-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/cli-land shape=docs/contracts/cli-land.md value=lock -bound-lock/1 about="# sign\n\n`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included.\n" at=witness:cli-publication by=target form=alphabet measure=text role=writes scope=prose/en/files/cli-sign shape=docs/contracts/cli-sign.md value=lock -bound-lock/1 about="## Typed cell, claim and mark records\n\nThe object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile.\n\n`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope.\n\nThe common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission.\n\n| Row | Fields in addition to the common envelope | Meaning |\n| --- | --- | --- |\n| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. |\n| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. |\n| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. |\n| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. |\n| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. |\n| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. |\n| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. |\n\nEach row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin.\n\nFor a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested.\n\nThe cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred.\n\n`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification.\n\nAfter admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters.\n\nThe package's `samples/walk/interval.json`, `interval.no.json`, `alphabet.json` and `alphabet.no.json` carry exact historical wire declarations and signed positive/negative exchange records. They are examples of declared profiles, not a production activation epoch or a promise that their keys authorize another place. Host-native object output remains a separate product vector.\n\n## Running the published place\n\nRun `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied.\n\nThe accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form.\n" at=witness:publication-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock +bound-lock/1 about="# fold\n\n`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately.\n\n# land\n\n`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot.\n\n# sign\n\n`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-cli shape=docs/contracts/cli.md value=lock +bound-lock/1 about="## Typed cell, claim and mark records\n\nThe object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile.\n\n`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope.\n\nThe common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission.\n\n| Row | Fields in addition to the common envelope | Meaning |\n| --- | --- | --- |\n| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. |\n| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. |\n| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. |\n| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. |\n| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. |\n| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. |\n| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. |\n\nEach row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin.\n\nFor a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested.\n\nThe cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred.\n\n`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification.\n\nAfter admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters.\n\nThe shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place.\n\n## Running the published place\n\nRun `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied.\n\nThe accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form.\n" at=witness:shipped-reference-paths by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock bound-lock/1 about=", & " at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cite/and value=lock bound-lock/1 about="\nOne history, several viewsIllustrative spatial view of B, C, G and independent D. C rests on B and G rests on C. B's travelling ceiling is 0 to 50 and travelling floor 40 to 100. Its local join widens only B to 0 to 100. Region receipts retain selected topos and implementation identity. Background points are decorative, not additional measured cells.\n\n\n\n\n\n\n\n\n\nTHE ALGEBRA IN 60 SECONDS\nOne history. Several views.\nA cell keeps its readings. A connection carries only what travels.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTravelling bounds\nceiling 0..50floor 40..100\nB → C → G\n\nLocal join\nB widens to 0..100\nThe travelling sign stays live.\n\n\nB\nC\nG\nD\nceiling 0..50\nceiling 0..50\nIndependent cell\nD declares no rest on B.\nRegion: the cells selected by a view\n\nSelected topos\nForms and views · pinned folded standing\nReceipts at resolution 1\nSemantic inputs + selected implementation\nIllustrative layout · connections denote declared rest · position and size do not measure importance\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-3 shape=docs/readme-assets/atlas.svg value=lock bound-lock/1 about="A REFUSE prints its line and stops. Nothing after it is a fact." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/a-refuse-plants.json|samples/no/a-refuse-plants.json role=demands scope=law/a-refuse-plants value=present @@ -40,7 +25,7 @@ bound-lock/1 about="A sequence of declared readings is not an indivisible act. P bound-lock/1 about="Algebraic vacuity, absence of observations and lack of recent activity are separate facts. A view may expose inactivity over an admitted window, but cannot rename it algebraic vacuity or read missing history as zero." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/02 value=lock bound-lock/1 about="Bind a package release with the pipeline views. Bind a page to its receipts with view/readme. Refuse a dependency drift with dep pins. Ask a second head that must agree." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/learn value=present bound-lock/1 about="Bound is the application of that algebra: signed bounds, folded by one meet, refused when they fork." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/paper value=present -bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md)." at=witness:bound/015-prose-version by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present +bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present bound-lock/1 about="Cite it as {name}." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock bound-lock/1 about="Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/paper value=lock bound-lock/1 about="Conflicting live wire declarations refuse by scope; no vacuous alphabet." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/wire/unique-live-alphabet.md|samples/yes/wire/unique-live-alphabet.json|vectors/wire/unique-live-alphabet.json|samples/no/wire/unique-live-alphabet.json role=demands scope=wire/unique-live-alphabet value=present @@ -49,6 +34,7 @@ bound-lock/1 about="Declared runtime processes participate in the instrument imp bound-lock/1 about="Deterministic repair means a reproducible proposed lot, not automatic human approval. A red can lack measurements, authority, a witness or a unique repair. Such a case returns an explicit unmet requirement; it never invents a paying line." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/06 value=lock bound-lock/1 about="Elapsed days from 2026-10-07; deadline 2026-10-21. An unread clock is not payment." at=policy:bound/015-plan by=target form=interval measure=days role=demands scope=plan/0.1.5/time value=0..14 bound-lock/1 about="Every selected public coordinate has its exact contract/yes/vector/no quartet and executable conformance; availability is not proof." at=witness:publication-is-measured by=target form=interval measure=count needs=docs/contracts/publication.md|docs/contracts/publication.inventory.json role=reads scope=contract/published value=0..0 +bound-lock/1 about="Exact npm archive integrity for acorn 8.19.0. Library metadata, not Topos standing or a release mount; npm verifies the matching package-lock integrity." at=policy:host-module-identity by=target form=alphabet measure=id role=writes scope=dep/acorn value=sha512:a09940dd78919bb0b293aa850f6267f1a93d07b8d2cb4ab2d340033b7fbc7694f42d28c58a1418bf80b4d8b142498255dd0dfbc58c30472e66f88a48894cea5b bound-lock/1 about="Exchange cost requires units: transferred regions, payload bytes, protocol overhead and verification work. Reused regions transfer zero semantic payload. Variable-size regions cannot obey a byte ceiling stated merely as a count of open regions." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/03 value=lock bound-lock/1 about="First session" at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/seq/heading value=present bound-lock/1 about="First use" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/commands/heading value=lock @@ -59,7 +45,7 @@ bound-lock/1 about="Historical line region reads sources/; the native CLI bound-lock/1 about="How Bound reads a project" at=policy:bound/historical-prose by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock bound-lock/1 about="How to add or change a lock" at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/exchange/heading value=present bound-lock/1 about="In an empty folder, write a three-line TARGET.bound, run bound ., and see the stranger four lines printed. Then land, then bound . --as card --key . A fact is a printed line." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/first-use/lead value=lock -bound-lock/1 about="Inventory actual installed public surface; missing artifacts remain unpaid." at=witness:exact-archive-conformance by=target form=alphabet measure=status needs=docs/contracts/015-stage-10.md|docs/contracts/cli-fold.md|docs/contracts/cli-land.md|docs/contracts/cli-sign.md|docs/contracts/evidence-view.md|docs/contracts/typed-object.md|docs/contracts/view-card.md|docs/contracts/view-citation-file.md|docs/contracts/view-explanation.md|docs/contracts/view-guide.md|docs/contracts/view-help.md|docs/contracts/view-lines.md|docs/contracts/view-manifest-render.md|docs/contracts/view-programs.md|docs/contracts/view-readme-historical.md|docs/contracts/view-receipts.md|docs/contracts/view-reference.md|docs/contracts/view-release-workflow-render.md|docs/contracts/view-tsconfig.md|docs/contracts/view-usage-profile.md|docs/contracts/view-walk.md|docs/contracts/view-why.md|samples/no/015-stage-10.json|samples/no/historical-document-views.json|samples/no/native-views.json|samples/no/program-views.json|samples/no/query-views.json|samples/no/signing-port.json|samples/no/typed-object.json|samples/no/walk.json|samples/yes/015-stage-10.json|samples/yes/historical-document-views.json|samples/yes/native-views.json|samples/yes/program-views.json|samples/yes/query-views.json|samples/yes/signing-port.json|samples/yes/typed-object.json|samples/yes/walk.json|vectors/015-stage-10.json|vectors/historical-document-views.json|vectors/native-views.json|vectors/program-views.json|vectors/query-views.json|vectors/signing-port.json|vectors/typed-object.json|vectors/walk-publication.json role=demands scope=plan/0.1.5/0 value=present +bound-lock/1 about="Inventory actual installed public surface; missing artifacts remain unpaid." at=witness:public-contracts-by-operation by=target form=alphabet measure=status needs=docs/contracts/archive.md|docs/contracts/cli.md|docs/contracts/documents.md|docs/contracts/evidence-view.md|docs/contracts/typed-object.md|docs/contracts/view-walk.md|docs/contracts/views.md|samples/no/archive-conformance.json|samples/no/historical-document-views.json|samples/no/native-views.json|samples/no/program-views.json|samples/no/query-views.json|samples/no/signing-port.json|samples/no/typed-object.json|samples/no/walk.json|samples/yes/archive-conformance.json|samples/yes/historical-document-views.json|samples/yes/native-views.json|samples/yes/program-views.json|samples/yes/query-views.json|samples/yes/signing-port.json|samples/yes/typed-object.json|samples/yes/walk.json|vectors/archive-conformance.json|vectors/historical-document-views.json|vectors/native-views.json|vectors/program-views.json|vectors/query-views.json|vectors/signing-port.json|vectors/typed-object.json|vectors/walk-publication.json role=demands scope=plan/0.1.5/0 value=present bound-lock/1 about="Joining two files is putting their lines together: order does not matter, and a line twice is still one. A disagreement does not break the merge; it shows as CONFLICT. A file travels alone. Bound never guesses: one origin is REQUIRED, not FREE. Each of these is a test in bound/test/laws.test.ts." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/what-holds/lead value=lock bound-lock/1 about="Land the batch with the key that covers it." at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/seq/key value=present bound-lock/1 about="MIT License\n\nCopyright (c) 2026 Lapxo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." at=witness:bound/015-standard-mit by=target form=alphabet measure=text role=writes scope=prose/en/files/license shape=LICENSE value=lock @@ -73,7 +59,7 @@ bound-lock/1 about="Optional Stage 6: carry only if unpaid at the red time ceili bound-lock/1 about="Optional Stage 7: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-7.md|samples/yes/015-stage-7.json|vectors/015-stage-7.json|samples/no/015-stage-7.json role=demands scope=plan/0.1.6/7 value=present bound-lock/1 about="Optional Stage 8: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-8.md|samples/yes/015-stage-8.json|vectors/015-stage-8.json|samples/no/015-stage-8.json role=demands scope=plan/0.1.6/8 value=present bound-lock/1 about="Optional Stage 9: carry only if unpaid at the red time ceiling; no payment inferred." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-9.md|samples/yes/015-stage-9.json|vectors/015-stage-9.json|samples/no/015-stage-9.json role=demands scope=plan/0.1.6/9 value=present -bound-lock/1 about="Output names the computation and distinguishes valid empty output from refusal." at=witness:published-plan-evidence by=target form=alphabet measure=status needs=docs/contracts/cli-fold.md|docs/contracts/typed-object.md|samples/no/native-views.json|samples/no/typed-object.json|samples/yes/native-views.json|samples/yes/typed-object.json|vectors/native-views.json|vectors/typed-object.json restsOn=plan/0.1.5/1 role=demands scope=plan/0.1.5/2 value=present +bound-lock/1 about="Output names the computation and distinguishes valid empty output from refusal." at=witness:public-contracts-by-operation by=target form=alphabet measure=status needs=docs/contracts/cli.md|docs/contracts/typed-object.md|samples/no/native-views.json|samples/no/typed-object.json|samples/yes/native-views.json|samples/yes/typed-object.json|vectors/native-views.json|vectors/typed-object.json restsOn=plan/0.1.5/1 role=demands scope=plan/0.1.5/2 value=present bound-lock/1 about="Pending general document projection at .github/workflows/release.yml; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/workflow/release value=text@3 bound-lock/1 about="Pending general document projection at .github/workflows/tag.yml; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/workflow/tag value=text@3 bound-lock/1 about="Pending general document projection at .github/workflows/test.yml; no automatic output is claimed by this capability demand." at=policy:own-prose by=target form=alphabet measure=id role=demands scope=view/files/workflow/test value=text@3 @@ -93,15 +79,17 @@ bound-lock/1 about="Release selection of existing obligations; their fold eviden bound-lock/1 about="Release selection of existing obligations; their fold evidence determines the verdict." at=policy:bound/release by=target form=alphabet measure=id role=writes scope=release/category/cli value=cli/**|fold/idle|cost/act bound-lock/1 about="Release selection of existing obligations; their fold evidence determines the verdict." at=policy:bound/release by=target form=alphabet measure=id role=writes scope=release/category/integrity value=literal/host|literal/key|literal/org|literal/path|duplicate/src|door/unreceipted bound-lock/1 about="Release selection of existing obligations; their fold evidence determines the verdict." at=policy:bound/release by=target form=alphabet measure=id role=writes scope=release/category/pins value=resolve-by-url|offline|the-stranger -bound-lock/1 about="Render documentation and standard MIT license; verify one exact staged artifact." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/015-stage-10.md|samples/yes/015-stage-10.json|vectors/015-stage-10.json|samples/no/015-stage-10.json restsOn=plan/0.1.5/5 role=demands scope=plan/0.1.5/10 value=present +bound-lock/1 about="Render documentation and standard MIT license; verify one exact staged artifact." at=witness:public-contracts-by-operation by=target form=alphabet measure=status needs=docs/contracts/archive.md|samples/no/archive-conformance.json|samples/yes/archive-conformance.json|vectors/archive-conformance.json restsOn=plan/0.1.5/5 role=demands scope=plan/0.1.5/10 value=present bound-lock/1 about="Render only this place admitted MIT text through the selected generic prose provider." at=witness:bound/015-standard-mit by=target form=alphabet measure=id needs=LICENSE role=demands scope=view/license-native shape=LICENSE value=text@3 bound-lock/1 about="Render this place admitted manifest prose through the existing explicitly selected text provider; general document capability demands remain unchanged." at=policy:bound/presentation by=target form=alphabet measure=id needs=package.json role=demands scope=view/manifest-render shape=package.json value=text@3 +bound-lock/1 about="Replace the built-in module parser with a declared bounded command under a published host closure contract, then remove Acorn from Bound. Prove identical implementation identities and refusal of an unclosed runtime graph on unrelated programs; no regex fallback and no universal source grammar in the kernel." at=witness:host-command-requires-its-publication-quartet by=target form=alphabet measure=status needs=docs/contracts/host-module-command.md|samples/no/host-module-command.json|samples/yes/host-module-command.json|vectors/host-module-command.json role=demands scope=plan/0.1.6/host-module-command value=present bound-lock/1 about="Reported unpaid by the Head clean-install matrix: authority-class evidence is exposed but attest receipts appear in no view. Confirm against exact archive; preserve admitted attribution." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/evidence-view.md|samples/yes/attest-evidence.json|vectors/attest-evidence.json|samples/no/attest-evidence.json role=demands scope=contract/published/attest-evidence-view value=present bound-lock/1 about="Reported unpaid by the Head clean-install matrix: the typed-object sample is absent from the package. Confirm against exact archive; no receipt is fabricated." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/typed-object.md|samples/yes/typed-object.json|vectors/typed-object.json|samples/no/typed-object.json role=demands scope=contract/published/typed-object-sample value=present bound-lock/1 about="Rewriting hero, idea and the other section regions as compositions of atoms is 0.1.1, not done quietly here." at=policy:bound/010 by=target form=alphabet kind=conjecture measure=status role=demands scope=open/section-regions-as-atoms value=present bound-lock/1 about="Source origin is distinct from local coordinates; requested verified bytes are handed to every declared eligible reader." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/region/origin-input.md|samples/yes/region/origin-input.json|vectors/region/origin-input.json|samples/no/region/origin-input.json role=demands scope=region/origin-input value=present bound-lock/1 about="The coordinate of the observed host implementation digest in the native receipt set." at=policy:bound/receipts by=target form=alphabet measure=id role=writes scope=audit/wire/receipt-instrument value=instrument/implementation bound-lock/1 about="The explicitly selected historical document profile over this place own prose; general text@3 demands remain unpaid." at=policy:readme-without-debt-section by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 +bound-lock/1 about="The host adapter parses literal JavaScript imports when identifying the implementation behind receipts. It executes no module and does not inventory domain exports, duplicates or literals. It does not enforce arbitrary dynamic-import closure or claim a capsule sandbox." at=policy:host-module-identity by=target form=alphabet measure=text role=writes scope=rationale/host/module-parser value=present bound-lock/1 about="The native public receipt carries its actual observed set at resolution 8 before the authenticated summary at resolution 0 and current region bytes at resolution 1." at=witness:a-public-receipt-carries-its-observations by=target form=alphabet measure=id role=demands scope=view/receipts shape=receipts.bound value=receipts@8|receipts@0|receipts@1 bound-lock/1 about="The object" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/the-object/heading value=lock bound-lock/1 about="The paper" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/the-paper/heading value=lock @@ -324,7 +312,7 @@ bound-lock/1 about="what the second head found, which leaves the place has writt bound-lock/1 about="when the apart claim is withdrawn" at=policy:bound/door by=target form=alphabet measure=id role=writes scope=form/style/fold/back value=2.2 bound-lock/1 about="where a located world keeps each region file, by directory and extension, so the host loads the tree beside the pin" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=release/layout value=src/regions:.ts bound-lock/1 about="who signs this place" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=author value=Lapxo -bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"samples/typed/*.json\",\n \"tools/samples/*.mjs\",\n \"samples/walk/*.json\",\n \"vectors/native-walk.json\",\n \"docs/contracts/**/*\",\n \"samples/yes/typed-object.json\",\n \"samples/no/typed-object.json\",\n \"samples/yes/attest-evidence.json\",\n \"samples/no/attest-evidence.json\",\n \"vectors/typed-object.json\",\n \"vectors/attest-evidence.json\",\n \"samples/yes/signing-port.json\",\n \"samples/no/signing-port.json\",\n \"vectors/signing-port.json\",\n \"samples/yes/native-views.json\",\n \"samples/no/native-views.json\",\n \"vectors/native-views.json\",\n \"samples/yes/query-views.json\",\n \"samples/no/query-views.json\",\n \"vectors/query-views.json\",\n \"samples/yes/prose-views.json\",\n \"samples/no/prose-views.json\",\n \"vectors/prose-views.json\",\n \"samples/yes/program-views.json\",\n \"samples/no/program-views.json\",\n \"vectors/program-views.json\",\n \"samples/yes/historical-document-views.json\",\n \"samples/no/historical-document-views.json\",\n \"vectors/historical-document-views.json\",\n \"samples/yes/historical-build.json\",\n \"samples/no/historical-build.json\",\n \"vectors/historical-build.json\",\n \"samples/yes/historical-presentation.json\",\n \"samples/no/historical-presentation.json\",\n \"vectors/historical-presentation.json\",\n \"samples/yes/walk.json\",\n \"samples/no/walk.json\",\n \"vectors/walk-publication.json\",\n \"samples/yes/015-stage-10.json\",\n \"vectors/015-stage-10.json\",\n \"samples/no/015-stage-10.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock +bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"samples/typed/*.json\",\n \"tools/samples/*.mjs\",\n \"samples/walk/*.json\",\n \"vectors/native-walk.json\",\n \"docs/contracts/*.md\",\n \"docs/contracts/*.publication.json\",\n \"docs/contracts/publication.inventory.json\",\n \"samples/yes/typed-object.json\",\n \"samples/no/typed-object.json\",\n \"samples/yes/attest-evidence.json\",\n \"samples/no/attest-evidence.json\",\n \"vectors/typed-object.json\",\n \"vectors/attest-evidence.json\",\n \"samples/yes/signing-port.json\",\n \"samples/no/signing-port.json\",\n \"vectors/signing-port.json\",\n \"samples/yes/native-views.json\",\n \"samples/no/native-views.json\",\n \"vectors/native-views.json\",\n \"samples/yes/query-views.json\",\n \"samples/no/query-views.json\",\n \"vectors/query-views.json\",\n \"samples/yes/prose-views.json\",\n \"samples/no/prose-views.json\",\n \"vectors/prose-views.json\",\n \"samples/yes/program-views.json\",\n \"samples/no/program-views.json\",\n \"vectors/program-views.json\",\n \"samples/yes/historical-document-views.json\",\n \"samples/no/historical-document-views.json\",\n \"vectors/historical-document-views.json\",\n \"samples/yes/historical-build.json\",\n \"samples/no/historical-build.json\",\n \"vectors/historical-build.json\",\n \"samples/yes/historical-presentation.json\",\n \"samples/no/historical-presentation.json\",\n \"vectors/historical-presentation.json\",\n \"samples/yes/walk.json\",\n \"samples/no/walk.json\",\n \"vectors/walk-publication.json\",\n \"samples/yes/archive-conformance.json\",\n \"vectors/archive-conformance.json\",\n \"samples/no/archive-conformance.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock bound-lock/1 about="{\n \"profile\": \"quartet-process@1\",\n \"scope\": \"contract/published\",\n \"surface\": [\n \"contract/published/attest-evidence-view\",\n \"contract/published/cli/fold\",\n \"contract/published/cli/land\",\n \"contract/published/cli/sign\",\n \"contract/published/pipeline/archive\",\n \"contract/published/typed-object-sample\",\n \"contract/published/view/card\",\n \"contract/published/view/citation-file\",\n \"contract/published/view/explanation\",\n \"contract/published/view/guide\",\n \"contract/published/view/help\",\n \"contract/published/view/lines\",\n \"contract/published/view/manifest-render\",\n \"contract/published/view/programs\",\n \"contract/published/view/readme-historical\",\n \"contract/published/view/receipts\",\n \"contract/published/view/reference\",\n \"contract/published/view/release-workflow-render\",\n \"contract/published/view/tsconfig\",\n \"contract/published/view/usage-profile\",\n \"contract/published/view/walk\",\n \"contract/published/view/why\"\n ],\n \"note\": \"Explicit public-surface inventory. A selected coordinate without a descriptor is unpaid. Outstanding capability demands are not advertised implementations.\"\n}" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-inventory shape=docs/contracts/publication.inventory.json value=lock bound-lock/1 about="{count} hold" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/badge/held value=lock bound-lock/1 about="{lo}..{hi} · {state}" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/fold/together value=present @@ -433,22 +421,6 @@ bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabe bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabet measure=id role=writes scope=dep/topos-doc/born shape=dist/index.js value=sha256:04feef01a8c59cae7ea842198d1faf0091b424129872a847b41c7da0bca6fabf bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=dep/process-readings shape=55b78b6c0a8ae86d84853ae34773b3a6947b31738b1242b20efa0da492ca0547 value=sha256:3f17467234fe9fce12d2859da21f7deba428b8279b387d33cb769e932ada3ecc bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:1dc6bb7b0a8587eadc52dacc3a74934d8707042a1078182a687d10d3df2deb0e -bound-lock/1 at=witness:cli-publication by=target form=alphabet measure=id needs=docs/contracts/cli-fold.md role=demands scope=view/contract-cli-fold shape=docs/contracts/cli-fold.md value=text@3 -bound-lock/1 at=witness:cli-publication by=target form=alphabet measure=id needs=docs/contracts/cli-land.md role=demands scope=view/contract-cli-land shape=docs/contracts/cli-land.md value=text@3 -bound-lock/1 at=witness:cli-publication by=target form=alphabet measure=id needs=docs/contracts/cli-sign.md role=demands scope=view/contract-cli-sign shape=docs/contracts/cli-sign.md value=text@3 -bound-lock/1 at=witness:coordinate-query-publication by=target form=alphabet measure=id needs=docs/contracts/view-why.md role=demands scope=view/contract-native-why shape=docs/contracts/view-why.md value=text@3 -bound-lock/1 at=witness:declared-program-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-card.md role=demands scope=view/contract-card shape=docs/contracts/view-card.md value=text@3 -bound-lock/1 at=witness:declared-program-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-programs.md role=demands scope=view/contract-programs shape=docs/contracts/view-programs.md value=text@3 -bound-lock/1 at=witness:exact-archive-conformance by=target form=alphabet measure=id needs=docs/contracts/015-stage-10.md role=demands scope=view/contract-archive shape=docs/contracts/015-stage-10.md value=text@3 -bound-lock/1 at=witness:historical-build-publication by=target form=alphabet measure=id needs=docs/contracts/view-tsconfig.md role=demands scope=view/contract-tsconfig shape=docs/contracts/view-tsconfig.md value=text@3 -bound-lock/1 at=witness:historical-presentation-publication by=target form=alphabet measure=id needs=docs/contracts/view-explanation.md role=demands scope=view/contract-explanation shape=docs/contracts/view-explanation.md value=text@3 -bound-lock/1 at=witness:historical-presentation-publication by=target form=alphabet measure=id needs=docs/contracts/view-readme-historical.md role=demands scope=view/contract-readme-historical shape=docs/contracts/view-readme-historical.md value=text@3 -bound-lock/1 at=witness:historical-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-citation-file.md role=demands scope=view/contract-citation-file shape=docs/contracts/view-citation-file.md value=text@3 -bound-lock/1 at=witness:historical-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-guide.md role=demands scope=view/contract-guide shape=docs/contracts/view-guide.md value=text@3 -bound-lock/1 at=witness:historical-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-reference.md role=demands scope=view/contract-reference shape=docs/contracts/view-reference.md value=text@3 -bound-lock/1 at=witness:native-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-help.md role=demands scope=view/contract-native-help shape=docs/contracts/view-help.md value=text@3 -bound-lock/1 at=witness:native-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-lines.md role=demands scope=view/contract-native-lines shape=docs/contracts/view-lines.md value=text@3 -bound-lock/1 at=witness:native-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-receipts.md role=demands scope=view/contract-native-receipts shape=docs/contracts/view-receipts.md value=text@3 bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=c298746ef68fdf192a0feede8f514e42f28700a2c2bc542edabee7c7c090f64d value=sha256:63404128efbf4173dfcb8ba757cf9c8cc41f692dd13d5d00a0835d8c70dec7e0 bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:ded485f3bf8ac0f11c73f61223f4180038b8c44904ea4f573a240b59a651a489 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/exchange-cost.json|samples/core/no/exchange-cost.json role=reads scope=exchange/cost value=0..0 @@ -464,10 +436,11 @@ bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/literal/yes/key.json|samples/literal/no/key.json role=reads scope=literal/key value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/literal/yes/org.json|samples/literal/no/org.json role=reads scope=literal/org value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/literal/yes/path.json|samples/literal/no/path.json role=reads scope=literal/path value=0..0 -bound-lock/1 at=witness:prose-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-manifest-render.md role=demands scope=view/contract-manifest-render shape=docs/contracts/view-manifest-render.md value=text@3 -bound-lock/1 at=witness:prose-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-release-workflow-render.md role=demands scope=view/contract-release-workflow-render shape=docs/contracts/view-release-workflow-render.md value=text@3 -bound-lock/1 at=witness:prose-view-publication by=target form=alphabet measure=id needs=docs/contracts/view-usage-profile.md role=demands scope=view/contract-usage-profile shape=docs/contracts/view-usage-profile.md value=text@3 bound-lock/1 at=witness:public-artifact-closure by=target form=alphabet measure=digest needs=node_modules/typescript role=reads scope=dep/typescript shape=package value=sha256:10e108c9cf7d5f2879053dff18515fb405abf2ccef63eaaf017d9c571687a1d3 +bound-lock/1 at=witness:public-contracts-by-operation by=target form=alphabet measure=id needs=docs/contracts/archive.md role=demands scope=view/contract-archive-reference shape=docs/contracts/archive.md value=text@3 +bound-lock/1 at=witness:public-contracts-by-operation by=target form=alphabet measure=id needs=docs/contracts/cli.md role=demands scope=view/contract-cli-reference shape=docs/contracts/cli.md value=text@3 +bound-lock/1 at=witness:public-contracts-by-operation by=target form=alphabet measure=id needs=docs/contracts/documents.md role=demands scope=view/contract-documents-reference shape=docs/contracts/documents.md value=text@3 +bound-lock/1 at=witness:public-contracts-by-operation by=target form=alphabet measure=id needs=docs/contracts/views.md role=demands scope=view/contract-views-reference shape=docs/contracts/views.md value=text@3 bound-lock/1 at=witness:public-instrument-input-is-declared by=target form=alphabet measure=coordinates role=writes scope=region/publication value=docs/contracts/**|samples/**|vectors/**|tools/publication/**|tools/samples/**|dist/**|package.json|TARGET.bound bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=id needs=docs/contracts/publication.inventory.json role=demands scope=view/publication-inventory shape=docs/contracts/publication.inventory.json value=text@3 bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=id needs=docs/contracts/publication.md role=demands scope=view/publication-contract shape=docs/contracts/publication.md value=text@3 diff --git a/docs/contracts/archive-conformance.publication.json b/docs/contracts/archive-conformance.publication.json index 80896eb..f02f5ca 100644 --- a/docs/contracts/archive-conformance.publication.json +++ b/docs/contracts/archive-conformance.publication.json @@ -3,22 +3,22 @@ "members": [ { "role": "contract", - "path": "docs/contracts/015-stage-10.md", + "path": "docs/contracts/archive.md", "digest": "sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9" }, { "role": "yes", - "path": "samples/yes/015-stage-10.json", + "path": "samples/yes/archive-conformance.json", "digest": "sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c" }, { "role": "vector", - "path": "vectors/015-stage-10.json", - "digest": "sha256:a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696" + "path": "vectors/archive-conformance.json", + "digest": "sha256:c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f" }, { "role": "no", - "path": "samples/no/015-stage-10.json", + "path": "samples/no/archive-conformance.json", "digest": "sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea" } ] diff --git a/docs/contracts/015-stage-10.md b/docs/contracts/archive.md similarity index 100% rename from docs/contracts/015-stage-10.md rename to docs/contracts/archive.md diff --git a/docs/contracts/cli-fold.md b/docs/contracts/cli-fold.md deleted file mode 100644 index 50b0fcd..0000000 --- a/docs/contracts/cli-fold.md +++ /dev/null @@ -1,3 +0,0 @@ -# fold - -`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately. diff --git a/docs/contracts/cli-fold.publication.json b/docs/contracts/cli-fold.publication.json index 05586ce..2fd09e7 100644 --- a/docs/contracts/cli-fold.publication.json +++ b/docs/contracts/cli-fold.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/cli-fold.md", - "digest": "sha256:588a70d9c20de5f34a26ce68074537605dda71bbaeb98643b25d96f6e9d6a8f3" + "path": "docs/contracts/cli.md", + "digest": "sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a" }, { "role": "yes", diff --git a/docs/contracts/cli-land.md b/docs/contracts/cli-land.md deleted file mode 100644 index 4817baa..0000000 --- a/docs/contracts/cli-land.md +++ /dev/null @@ -1,3 +0,0 @@ -# land - -`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot. diff --git a/docs/contracts/cli-land.publication.json b/docs/contracts/cli-land.publication.json index fadf102..8552229 100644 --- a/docs/contracts/cli-land.publication.json +++ b/docs/contracts/cli-land.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/cli-land.md", - "digest": "sha256:6872833e6f7bb9a5d7ed040c197e6cb306dda978a28fd4b286fa3e2bd5589228" + "path": "docs/contracts/cli.md", + "digest": "sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a" }, { "role": "yes", diff --git a/docs/contracts/cli-sign.md b/docs/contracts/cli-sign.md deleted file mode 100644 index 31c2044..0000000 --- a/docs/contracts/cli-sign.md +++ /dev/null @@ -1,3 +0,0 @@ -# sign - -`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included. diff --git a/docs/contracts/cli-sign.publication.json b/docs/contracts/cli-sign.publication.json index 588293a..0018210 100644 --- a/docs/contracts/cli-sign.publication.json +++ b/docs/contracts/cli-sign.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/cli-sign.md", - "digest": "sha256:83eafc31e923994f262b78bcbac97d5d4a7701826d3420a9b3ad29ac427ade56" + "path": "docs/contracts/cli.md", + "digest": "sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a" }, { "role": "yes", diff --git a/docs/contracts/cli.md b/docs/contracts/cli.md new file mode 100644 index 0000000..c5f4dbb --- /dev/null +++ b/docs/contracts/cli.md @@ -0,0 +1,11 @@ +# fold + +`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately. + +# land + +`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot. + +# sign + +`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included. diff --git a/docs/contracts/documents.md b/docs/contracts/documents.md new file mode 100644 index 0000000..1d78434 --- /dev/null +++ b/docs/contracts/documents.md @@ -0,0 +1,35 @@ +# Explanation — historical profile + +The declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose. + +# README — historical profile + +The declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid. + +# Citation file — historical profile + +The declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract. + +# Guide — historical profile + +The declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound. + +# Reference — historical profile + +The declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid. + +# Manifest render profile + +This declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package. + +# Workflow render profile + +This declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate. + +# Usage render profile + +This declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors. + +# Build configuration — historical profile + +The declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract. diff --git a/docs/contracts/typed-object.md b/docs/contracts/typed-object.md index c16876a..5e4dcd3 100644 --- a/docs/contracts/typed-object.md +++ b/docs/contracts/typed-object.md @@ -26,7 +26,7 @@ The cell's `topos` names folded standing, and its `params` identifies declared p After admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters. -The package's `samples/walk/interval.json`, `interval.no.json`, `alphabet.json` and `alphabet.no.json` carry exact historical wire declarations and signed positive/negative exchange records. They are examples of declared profiles, not a production activation epoch or a promise that their keys authorize another place. Host-native object output remains a separate product vector. +The shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place. ## Running the published place diff --git a/docs/contracts/typed-object.publication.json b/docs/contracts/typed-object.publication.json index 2270822..f86528e 100644 --- a/docs/contracts/typed-object.publication.json +++ b/docs/contracts/typed-object.publication.json @@ -4,7 +4,7 @@ { "role": "contract", "path": "docs/contracts/typed-object.md", - "digest": "sha256:9734ab17b9145439ae131ab4e172c0873299450d97db802b6034ff7bc46c152e" + "digest": "sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05" }, { "role": "yes", diff --git a/docs/contracts/view-card.md b/docs/contracts/view-card.md deleted file mode 100644 index e5eb39d..0000000 --- a/docs/contracts/view-card.md +++ /dev/null @@ -1,3 +0,0 @@ -# Demand card - -The declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance. diff --git a/docs/contracts/view-card.publication.json b/docs/contracts/view-card.publication.json index 8d87653..482b3ff 100644 --- a/docs/contracts/view-card.publication.json +++ b/docs/contracts/view-card.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-card.md", - "digest": "sha256:aef51009b9ac387e0d80534ae6dfbf7f43051042736709df059999f05e6b5570" + "path": "docs/contracts/views.md", + "digest": "sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8" }, { "role": "yes", diff --git a/docs/contracts/view-citation-file.md b/docs/contracts/view-citation-file.md deleted file mode 100644 index ea01d70..0000000 --- a/docs/contracts/view-citation-file.md +++ /dev/null @@ -1,3 +0,0 @@ -# Citation file — historical profile - -The declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract. diff --git a/docs/contracts/view-citation-file.publication.json b/docs/contracts/view-citation-file.publication.json index eb2a26f..3500631 100644 --- a/docs/contracts/view-citation-file.publication.json +++ b/docs/contracts/view-citation-file.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-citation-file.md", - "digest": "sha256:fcc24c64153d3093a3bd7e91a3be1fe1454acdc8a6033f9a6842f94c1dadc74f" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-explanation.md b/docs/contracts/view-explanation.md deleted file mode 100644 index afab07e..0000000 --- a/docs/contracts/view-explanation.md +++ /dev/null @@ -1,3 +0,0 @@ -# Explanation — historical profile - -The declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose. diff --git a/docs/contracts/view-explanation.publication.json b/docs/contracts/view-explanation.publication.json index 7cd4b13..44827aa 100644 --- a/docs/contracts/view-explanation.publication.json +++ b/docs/contracts/view-explanation.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-explanation.md", - "digest": "sha256:231b3e1323d7be1c1ff3d8dd474137eefd24dde31bf37cd17a9997d2b9bfefda" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-guide.md b/docs/contracts/view-guide.md deleted file mode 100644 index 7860f78..0000000 --- a/docs/contracts/view-guide.md +++ /dev/null @@ -1,3 +0,0 @@ -# Guide — historical profile - -The declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound. diff --git a/docs/contracts/view-guide.publication.json b/docs/contracts/view-guide.publication.json index 337646a..3a58f14 100644 --- a/docs/contracts/view-guide.publication.json +++ b/docs/contracts/view-guide.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-guide.md", - "digest": "sha256:6810acdd38527cfc5548f560940709ad96f35cbbbf53c1781ec7bb39e1be5cf6" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-help.md b/docs/contracts/view-help.md deleted file mode 100644 index 316d04a..0000000 --- a/docs/contracts/view-help.md +++ /dev/null @@ -1,3 +0,0 @@ -# Help view - -A declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider. diff --git a/docs/contracts/view-help.publication.json b/docs/contracts/view-help.publication.json index ed42d80..72429dc 100644 --- a/docs/contracts/view-help.publication.json +++ b/docs/contracts/view-help.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-help.md", - "digest": "sha256:e4c58471192e4ebff183f61280b5a63d099916c4b62ad54ef3fc2a918dd429f3" + "path": "docs/contracts/views.md", + "digest": "sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8" }, { "role": "yes", diff --git a/docs/contracts/view-lines.md b/docs/contracts/view-lines.md deleted file mode 100644 index c49145a..0000000 --- a/docs/contracts/view-lines.md +++ /dev/null @@ -1,3 +0,0 @@ -# Lines view - -A declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading. diff --git a/docs/contracts/view-lines.publication.json b/docs/contracts/view-lines.publication.json index 3e5d74e..94f3647 100644 --- a/docs/contracts/view-lines.publication.json +++ b/docs/contracts/view-lines.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-lines.md", - "digest": "sha256:2f6571223342cc614d5b41f94a9376d32b2e300e232ad3f6dd3dfbb2bc9299e5" + "path": "docs/contracts/views.md", + "digest": "sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8" }, { "role": "yes", diff --git a/docs/contracts/view-manifest-render.md b/docs/contracts/view-manifest-render.md deleted file mode 100644 index 1e3482c..0000000 --- a/docs/contracts/view-manifest-render.md +++ /dev/null @@ -1,3 +0,0 @@ -# Manifest render profile - -This declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package. diff --git a/docs/contracts/view-manifest-render.publication.json b/docs/contracts/view-manifest-render.publication.json index 9568f80..a3a1553 100644 --- a/docs/contracts/view-manifest-render.publication.json +++ b/docs/contracts/view-manifest-render.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-manifest-render.md", - "digest": "sha256:ce6f18c8ceb8fb732af44375139fc26104550f874cc3131db383af8a0c73540c" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-programs.md b/docs/contracts/view-programs.md deleted file mode 100644 index 23a0526..0000000 --- a/docs/contracts/view-programs.md +++ /dev/null @@ -1,3 +0,0 @@ -# Declared programs - -The programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed. diff --git a/docs/contracts/view-programs.publication.json b/docs/contracts/view-programs.publication.json index 8052283..ac66c99 100644 --- a/docs/contracts/view-programs.publication.json +++ b/docs/contracts/view-programs.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-programs.md", - "digest": "sha256:b6e5db4157005e786f0e5a402c42a1d9fcbdd1fa0fc87aa6f22d89d59e2a6c29" + "path": "docs/contracts/views.md", + "digest": "sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8" }, { "role": "yes", diff --git a/docs/contracts/view-readme-historical.md b/docs/contracts/view-readme-historical.md deleted file mode 100644 index 6321703..0000000 --- a/docs/contracts/view-readme-historical.md +++ /dev/null @@ -1,3 +0,0 @@ -# README — historical profile - -The declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid. diff --git a/docs/contracts/view-readme-historical.publication.json b/docs/contracts/view-readme-historical.publication.json index 77ababf..d1feb30 100644 --- a/docs/contracts/view-readme-historical.publication.json +++ b/docs/contracts/view-readme-historical.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-readme-historical.md", - "digest": "sha256:a13e1c60e2ebf362705b65cd2eaacb469371f38625f65b7e2b7e7dcf0ed644c7" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-receipts.md b/docs/contracts/view-receipts.md deleted file mode 100644 index 2e80237..0000000 --- a/docs/contracts/view-receipts.md +++ /dev/null @@ -1,9 +0,0 @@ -# Receipts view - -The native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt. - -## Public verification - -Full-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt. - -File-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority. diff --git a/docs/contracts/view-receipts.publication.json b/docs/contracts/view-receipts.publication.json index faec82c..7b9a63e 100644 --- a/docs/contracts/view-receipts.publication.json +++ b/docs/contracts/view-receipts.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-receipts.md", - "digest": "sha256:d8fef52b9a72a47e19420b339d321139fcb56eae7f9ddab54b888525ac310a66" + "path": "docs/contracts/views.md", + "digest": "sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8" }, { "role": "yes", diff --git a/docs/contracts/view-reference.md b/docs/contracts/view-reference.md deleted file mode 100644 index d8879d4..0000000 --- a/docs/contracts/view-reference.md +++ /dev/null @@ -1,3 +0,0 @@ -# Reference — historical profile - -The declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid. diff --git a/docs/contracts/view-reference.publication.json b/docs/contracts/view-reference.publication.json index 2786a27..348a0e7 100644 --- a/docs/contracts/view-reference.publication.json +++ b/docs/contracts/view-reference.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-reference.md", - "digest": "sha256:fbde2134b38d32b393c2f59988fdd7e90b141ccfdb27f08bfe786d07a5bd2827" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-release-workflow-render.md b/docs/contracts/view-release-workflow-render.md deleted file mode 100644 index b20b8a3..0000000 --- a/docs/contracts/view-release-workflow-render.md +++ /dev/null @@ -1,3 +0,0 @@ -# Workflow render profile - -This declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate. diff --git a/docs/contracts/view-release-workflow-render.publication.json b/docs/contracts/view-release-workflow-render.publication.json index 0c6a3e8..a5fc70b 100644 --- a/docs/contracts/view-release-workflow-render.publication.json +++ b/docs/contracts/view-release-workflow-render.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-release-workflow-render.md", - "digest": "sha256:0ee65259e5ac8873431344f5c3977b7f9c38ea23887f31caae1229a097151bb2" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-tsconfig.md b/docs/contracts/view-tsconfig.md deleted file mode 100644 index 61fb6ad..0000000 --- a/docs/contracts/view-tsconfig.md +++ /dev/null @@ -1,3 +0,0 @@ -# Build configuration — historical profile - -The declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract. diff --git a/docs/contracts/view-tsconfig.publication.json b/docs/contracts/view-tsconfig.publication.json index 358187f..f75b8a7 100644 --- a/docs/contracts/view-tsconfig.publication.json +++ b/docs/contracts/view-tsconfig.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-tsconfig.md", - "digest": "sha256:7bd9dc32793491718589c92a3c844c5018b9252724ede1b8cd474b5d2e6779f4" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-usage-profile.md b/docs/contracts/view-usage-profile.md deleted file mode 100644 index f5193f4..0000000 --- a/docs/contracts/view-usage-profile.md +++ /dev/null @@ -1,3 +0,0 @@ -# Usage render profile - -This declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors. diff --git a/docs/contracts/view-usage-profile.publication.json b/docs/contracts/view-usage-profile.publication.json index 7c4f8c7..4054329 100644 --- a/docs/contracts/view-usage-profile.publication.json +++ b/docs/contracts/view-usage-profile.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-usage-profile.md", - "digest": "sha256:5b38869324384a0021b9d6ec17230157f5847e46fc0ad5c15bb4a9b81790a87f" + "path": "docs/contracts/documents.md", + "digest": "sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375" }, { "role": "yes", diff --git a/docs/contracts/view-why.md b/docs/contracts/view-why.md deleted file mode 100644 index d5eb190..0000000 --- a/docs/contracts/view-why.md +++ /dev/null @@ -1,3 +0,0 @@ -# Why a coordinate - -`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing. diff --git a/docs/contracts/view-why.publication.json b/docs/contracts/view-why.publication.json index 6b524b4..c048606 100644 --- a/docs/contracts/view-why.publication.json +++ b/docs/contracts/view-why.publication.json @@ -3,8 +3,8 @@ "members": [ { "role": "contract", - "path": "docs/contracts/view-why.md", - "digest": "sha256:f4fdacd2036509b0542c37111aeb24ef3de9e92086a8555c80a2c181f034e26e" + "path": "docs/contracts/views.md", + "digest": "sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8" }, { "role": "yes", diff --git a/docs/contracts/views.md b/docs/contracts/views.md new file mode 100644 index 0000000..e7d4f3f --- /dev/null +++ b/docs/contracts/views.md @@ -0,0 +1,29 @@ +# Help view + +A declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider. + +# Lines view + +A declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading. + +# Receipts view + +The native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt. + +## Public verification + +Full-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt. + +File-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority. + +# Why a coordinate + +`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing. + +# Declared programs + +The programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed. + +# Demand card + +The declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance. diff --git a/docs/reference.md b/docs/reference.md index 16799ca..3847151 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -10,27 +10,12 @@ | pin | source-readings | | pin | wire | -- [015-stage-10](contracts/015-stage-10.md) -- [view-card](contracts/view-card.md) -- [view-citation-file](contracts/view-citation-file.md) -- [cli-fold](contracts/cli-fold.md) -- [cli-land](contracts/cli-land.md) -- [cli-sign](contracts/cli-sign.md) +- [archive](contracts/archive.md) +- [cli](contracts/cli.md) +- [documents](contracts/documents.md) - [evidence-view](contracts/evidence-view.md) -- [view-explanation](contracts/view-explanation.md) -- [view-guide](contracts/view-guide.md) -- [view-manifest-render](contracts/view-manifest-render.md) -- [view-help](contracts/view-help.md) -- [view-lines](contracts/view-lines.md) -- [view-receipts](contracts/view-receipts.md) -- [view-why](contracts/view-why.md) -- [view-programs](contracts/view-programs.md) -- [view-readme-historical](contracts/view-readme-historical.md) -- [view-reference](contracts/view-reference.md) -- [view-release-workflow-render](contracts/view-release-workflow-render.md) -- [view-tsconfig](contracts/view-tsconfig.md) - [typed-object](contracts/typed-object.md) -- [view-usage-profile](contracts/view-usage-profile.md) +- [views](contracts/views.md) - [view-walk](contracts/view-walk.md) - [why](why.md) - [guide](guide.md) diff --git a/docs/why.md b/docs/why.md index e164c31..ff689d3 100644 --- a/docs/why.md +++ b/docs/why.md @@ -2,6 +2,32 @@ Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals. +## Use Bound in a project + +From a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs: + +```sh +npx @lapxo/bound@0.1.5 fold --as lines +npx @lapxo/bound@0.1.5 fold --as receipts@1 +npx @lapxo/bound@0.1.5 fold --check +``` + +Use this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters. + +For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. + +Run the executable example with the installed CLI: + +```sh +npm install @lapxo/bound@0.1.5 +node node_modules/@lapxo/bound/tools/samples/run-typed.mjs +``` + +The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). + +A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. + + ## A meeting everyone can understand Ana is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain. @@ -86,3 +112,7 @@ A pin names standing, not a download URL or runtime entry. Its declared artifact Use Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true. [Contribute a counterexample or a proposed lot](CONTRIBUTING.md). + +## Foundations and related libraries + +The two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true. diff --git a/package.json b/package.json index 22e6622..0ace998 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,9 @@ "tools/samples/*.mjs", "samples/walk/*.json", "vectors/native-walk.json", - "docs/contracts/**/*", + "docs/contracts/*.md", + "docs/contracts/*.publication.json", + "docs/contracts/publication.inventory.json", "samples/yes/typed-object.json", "samples/no/typed-object.json", "samples/yes/attest-evidence.json", @@ -65,9 +67,9 @@ "samples/yes/walk.json", "samples/no/walk.json", "vectors/walk-publication.json", - "samples/yes/015-stage-10.json", - "vectors/015-stage-10.json", - "samples/no/015-stage-10.json" + "samples/yes/archive-conformance.json", + "vectors/archive-conformance.json", + "samples/no/archive-conformance.json" ], "author": "Lapxo", "license": "MIT", diff --git a/receipts.bound b/receipts.bound index 47ad4d1..4a9d001 100644 --- a/receipts.bound +++ b/receipts.bound @@ -1,239 +1,247 @@ -bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=009f24d0378dc39b -bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=041deca41f3dc4f7 -bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=05655a9477cb9f2e -bound-lock/1 at=place:sha256:0e92f3a8d2a005c08fac9b68524c72a4652626e23c0dce85d74cb3166e71619c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=0e92f3a8d2a005c0 -bound-lock/1 at=place:sha256:16d8ec648ec015584702ae73975f71ce049a499290d4a0cd2ce1993218e950a3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=16d8ec648ec01558 -bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=17d0c79b6d73320c -bound-lock/1 at=place:sha256:18d2e6b3b7fa66c3d7685f71800ac9c45ed3e29cba267da10011546fa1c34e2d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=18d2e6b3b7fa66c3 -bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=19fafe1b2ad73f14 -bound-lock/1 at=place:sha256:1d5dfa24588f749a90ca420fd86db50d86004ff746bed1fd16063c2c564b7c40 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=1d5dfa24588f749a -bound-lock/1 at=place:sha256:20413252e384158ffed562b7041d187669a2aea8a29805ec03bc6aed48f28c70 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=20413252e384158f -bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=21b73989e39791e3 -bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=3175ae43114e7de2 -bound-lock/1 at=place:sha256:31e1daac3410e3293abad961650eb3c799332c60082e0635e40362036a675905 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=31e1daac3410e329 -bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=336753bea3c28957 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=343a3b81e2ed111d -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=343a3b81e2ed111d -bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=38f043fce46c32e3 -bound-lock/1 at=place:sha256:40e376ae330c6c499533b136cb81836cdcf025c2ab5d7e108e667414b0587b86 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published value=40e376ae330c6c49 -bound-lock/1 at=place:sha256:42678983fbeaefb6d0a7afaf9ce40294d7164da9ff43d5bda079cecf7887d3b8 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=42678983fbeaefb6 -bound-lock/1 at=place:sha256:42a20ff419d12a6913ce4f2c1af7327173ae8b143aa2b95330598cbea04bcaa5 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=42a20ff419d12a69 -bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=45837d57bac6ddf2 -bound-lock/1 at=place:sha256:5158f18d352191cb813f3726f298878aa4b36a9984312ab9e01b966c2f16979c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=5158f18d352191cb -bound-lock/1 at=place:sha256:556e00ae3c438952c9541301bf4785409b7eab5e17bccded1f52cd39cb13f8ef by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=556e00ae3c438952 -bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/why value=6eb3de5d83bf1762 -bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=75b59d34ae727d50 -bound-lock/1 at=place:sha256:7c8dca592a80f29a99b9ad6b61f1a64db1bbf7d26798c2d15aef34ecb3405dbb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=7c8dca592a80f29a -bound-lock/1 at=place:sha256:7cf2d57ec5c3fcd0632126f508ec5d4ce75a1bed4e0d78adfbe625333d13c16b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=7cf2d57ec5c3fcd0 -bound-lock/1 at=place:sha256:7e7c0595ad9ada591a343d3d4c2afc7acaddc7d069e9c413383f590abe1791d5 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=7e7c0595ad9ada59 -bound-lock/1 at=place:sha256:8276f6e561e8892ec52f05a3a619822ea99e2ebb8e66bad670b28eca13c6481e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 value=8276f6e561e8892e -bound-lock/1 at=place:sha256:830bef9ca0c717d911cb3b1a9b9fa59c3fd311641a78674a1f6fe12cba2f216c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=830bef9ca0c717d9 -bound-lock/1 at=place:sha256:85e7bf2823ccbe1f9b9d2a57b28aea53fd1b08567f8f2550f672773ed2509964 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=85e7bf2823ccbe1f -bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=87bf51e5c0468a5c -bound-lock/1 at=place:sha256:8aebb5590c4ff5267cd26a016e77caaa74f08f2b39054817b9b0370186ae9096 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=8aebb5590c4ff526 -bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=8c341105fa1db014 -bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=90aff9d0fb316807 -bound-lock/1 at=place:sha256:944e87dd842d8b8894cfd85915d7f7770c753273a49fb6e1b3db58939ce37ff2 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=944e87dd842d8b88 -bound-lock/1 at=place:sha256:976287f41d0ecc9d4af1eccf40cf9586b3fa28bcc60ce2304758e9096ab295ed by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=976287f41d0ecc9d -bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/card value=98b99246d02c8858 -bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=9a2e371c647ab9ef -bound-lock/1 at=place:sha256:9cba8916daa1bcbd3f3975110986ed49ad656ce5a7711214caa8468932abe7fb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 value=9cba8916daa1bcbd -bound-lock/1 at=place:sha256:abcfaf9dc2b505393ba5cf546cea8b0b56d6e1e663775bc30b826ffd83fa7636 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=abcfaf9dc2b50539 -bound-lock/1 at=place:sha256:b0cecea6f1d7a3f2d0cff89a63a0bbc84600a8863c5f25d39747a7b01ab81535 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=b0cecea6f1d7a3f2 -bound-lock/1 at=place:sha256:b3a8f2991779468c45f126ba7f26d3d832f955ee4a48f41248a38fbedda6a8d8 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=b3a8f2991779468c -bound-lock/1 at=place:sha256:b6241a3e1d58ce14fbca3ff469dd3d5e0daef5fd40ba79e373ede9fef64e5390 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=b6241a3e1d58ce14 -bound-lock/1 at=place:sha256:beb678b8e834182041f76e16fb1d0d1048307d9dc7d47d64d9dbd253a4bc94c3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=beb678b8e8341820 -bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=bf6b5ef1a2f8fdc3 -bound-lock/1 at=place:sha256:c0494124866a8b5fd7956f46ada591388ae032871a3b272a2a1a9021f8b5a382 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=c0494124866a8b5f -bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/help value=dfe07472962538bd +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=071d908324529800 +bound-lock/1 at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=09f95300564a2597 +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=1ebd2fb40bd9c4da +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=20a5809a736d1648 +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=2a49b6a91dd16cee +bound-lock/1 at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=2c8d858d0a2d739a +bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=2cb559ed40efa558 +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=2d04adfa562a1477 +bound-lock/1 at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=2d105b936f1ad95d +bound-lock/1 at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=2d1fd8c7ac82c5f2 +bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=330ff2c1eff19e4d +bound-lock/1 at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=35c295396fe48de3 +bound-lock/1 at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=375927d10a1ab54c +bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published value=3cc406dc78785a8e +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/why value=4240854df5d1e6a6 +bound-lock/1 at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=428fd66e16ff6c94 +bound-lock/1 at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=4fe32ff0efcbb684 +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=51c635c6bbf573e9 +bound-lock/1 at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5d252a39a5e2e1c2 +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=637f6f93ba7d3291 +bound-lock/1 at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=6649c3496c7363c3 +bound-lock/1 at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=68135abf8b3d3949 +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=753fd8d9924fa763 +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/card value=7c8114b57169ee07 +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=83b36d05ab9ae7b5 +bound-lock/1 at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=960c34893ee4d384 +bound-lock/1 at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=972a9fd39eaf078d +bound-lock/1 at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=975b8ef6e0522023 +bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=9799ee315fb83ec9 +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=9abcbd07b03d0f7f +bound-lock/1 at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=9ea7fb1da3e8b7a3 +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=a0541d7dd3e4cf74 +bound-lock/1 at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=a3275d51a28d0179 +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=ac4d615f33093661 +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=ae0831f740958998 +bound-lock/1 at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=ae944235f9f31de3 +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/help value=aebd31c736e81397 +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=b043341704c0fc34 +bound-lock/1 at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=b0ea35f7168ed26b +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=b5750248a64817cf +bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=b9ce50ddf902f16e +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=b9d645d43a565a44 +bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=c1bb280370ffd655 +bound-lock/1 at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=c46e5245442d8468 +bound-lock/1 at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=c5981d283d564035 +bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=c9c398754a4d3726 +bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=cb7a5607027b337d +bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=d2eb1fec213fc191 +bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=dab94601f6ee76e5 +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=e0a39d3f852d5c01 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=observed role=writes scope= value=e2602308ed24728e -bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=e5ad4ba29e1b2df6 -bound-lock/1 at=place:sha256:e61cbfcd60e9d72849267e026ffdc12cacb1e8fbd3cdbf1a1b1f14b16e153919 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=e61cbfcd60e9d728 -bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=e9d10e2244871811 -bound-lock/1 at=place:sha256:f5b95ffc67d1297ff5ca808f64edf5b78e7316f6d4caf75c361455b0100a22a0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=f5b95ffc67d1297f -bound-lock/1 at=place:sha256:f79c1df555d855268b1e8173a425f4175a7955ef4129704699681272afa19fb5 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=f79c1df555d85526 -bound-lock/1 at=place:sha256:f7d75dc4c1a1aaf1c9edc3cfbcfc3d57af888316523fc0800c6229f3649803c1 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=f7d75dc4c1a1aaf1 -bound-lock/1 at=place:sha256:f9a7f110e415b10b39e36cc3e6a6996c99e0a946fd3f263c12ff7d81e96aff9b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=f9a7f110e415b10b -bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=fcc7a505bcf78dc9 -bound-lock/1 about="bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-lines.md value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:42a20ff419d12a6913ce4f2c1af7327173ae8b143aa2b95330598cbea04bcaa5 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-land.md value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:0e92f3a8d2a005c08fac9b68524c72a4652626e23c0dce85d74cb3166e71619c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-guide.md value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:f9a7f110e415b10b39e36cc3e6a6996c99e0a946fd3f263c12ff7d81e96aff9b by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-citation-file.md value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:b6241a3e1d58ce14fbca3ff469dd3d5e0daef5fd40ba79e373ede9fef64e5390 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-fold.md value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:b3a8f2991779468c45f126ba7f26d3d832f955ee4a48f41248a38fbedda6a8d8 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-reference.md value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:7c8dca592a80f29a99b9ad6b61f1a64db1bbf7d26798c2d15aef34ecb3405dbb by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-manifest-render.md value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:f5b95ffc67d1297ff5ca808f64edf5b78e7316f6d4caf75c361455b0100a22a0 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-readme-historical.md value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:976287f41d0ecc9d4af1eccf40cf9586b3fa28bcc60ce2304758e9096ab295ed by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-tsconfig.md value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:7cf2d57ec5c3fcd0632126f508ec5d4ce75a1bed4e0d78adfbe625333d13c16b by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-programs.md value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:42678983fbeaefb6d0a7afaf9ce40294d7164da9ff43d5bda079cecf7887d3b8 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-why.md value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:944e87dd842d8b8894cfd85915d7f7770c753273a49fb6e1b3db58939ce37ff2 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-receipts.md value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:5158f18d352191cb813f3726f298878aa4b36a9984312ab9e01b966c2f16979c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-release-workflow-render.md value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:b0cecea6f1d7a3f2d0cff89a63a0bbc84600a8863c5f25d39747a7b01ab81535 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-sign.md value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:c0494124866a8b5fd7956f46ada591388ae032871a3b272a2a1a9021f8b5a382 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:f7d75dc4c1a1aaf1c9edc3cfbcfc3d57af888316523fc0800c6229f3649803c1 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-card.md value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:7e7c0595ad9ada591a343d3d4c2afc7acaddc7d069e9c413383f590abe1791d5 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-usage-profile.md value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:8aebb5590c4ff5267cd26a016e77caaa74f08f2b39054817b9b0370186ae9096 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-explanation.md value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:16d8ec648ec015584702ae73975f71ce049a499290d4a0cd2ce1993218e950a3 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-help.md value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:830bef9ca0c717d911cb3b1a9b9fa59c3fd311641a78674a1f6fe12cba2f216c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:abcfaf9dc2b505393ba5cf546cea8b0b56d6e1e663775bc30b826ffd83fa7636 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/015-stage-10.md value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/015-stage-10.json value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/015-stage-10.json value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/015-stage-10.json value=met\nbound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:8276f6e561e8892ec52f05a3a619822ea99e2ebb8e66bad670b28eca13c6481e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:20413252e384158ffed562b7041d187669a2aea8a29805ec03bc6aed48f28c70 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=5..5 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/015-stage-10.md value=sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:5f56a3ed85bf39d156bfe2ea5f9f0c88201e4d41a2a9a444851d597aa7fcb5d3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 value=sha256:e95e725c703c1e155a15894cfccbb62d8ee28c7a0ae2f31c91f02ec4e5f35c1f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/015-stage-10.json value=sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/015-stage-10.json value=sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/015-stage-10.json value=sha256:a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 role=reads scope=contract/published/pipeline/archive value=docs/contracts/015-stage-10.md|docs/contracts/archive-conformance.publication.json|samples/no/015-stage-10.json|samples/yes/015-stage-10.json|vectors/015-stage-10.json\n" at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 value=sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:efeae360709b0bdd9e0641e65bec91a3a3a29c534a982dc287287ae7afe512cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.md value=sha256:588a70d9c20de5f34a26ce68074537605dda71bbaeb98643b25d96f6e9d6a8f3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:4cd08521edd39bb9291761d0a00cf0e8e4125db13b057527cee5c7a5b76e76c5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.md|docs/contracts/cli-fold.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.md value=sha256:6872833e6f7bb9a5d7ed040c197e6cb306dda978a28fd4b286fa3e2bd5589228\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:fee4576b9444e973b6d7aa5d5ae940b008844f849945d6bdfb654bf26699f660\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.md|docs/contracts/cli-land.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.md value=sha256:83eafc31e923994f262b78bcbac97d5d4a7701826d3420a9b3ad29ac427ade56\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:94f6b465f0b6aca6c512e8b8c25ae37e21225dc4d6cae6cfe09c4bf3d2aade4d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=sha256:45740474114b41057b418b68a44d914a81721cbcff6147927337836d5d396f91\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/signing-port.json value=sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/signing-port.json value=sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.md|docs/contracts/cli-sign.publication.json|samples/no/signing-port.json|samples/yes/signing-port.json|vectors/signing-port.json\n" at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:9734ab17b9145439ae131ab4e172c0873299450d97db802b6034ff7bc46c152e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:36cc1286558b2d91735e662db7783dabfec2fefd19e3df52534e1ef48b68e63b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=sha256:928f064e91581f0469924b3af0e56230db63e0fab315f617232dd172385090c6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/typed-object.json value=sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/typed-object.json value=sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/no/typed-object.json|samples/yes/typed-object.json|vectors/typed-object.json\n" at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.md value=sha256:aef51009b9ac387e0d80534ae6dfbf7f43051042736709df059999f05e6b5570\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:be4b1fb64e8b2a931ad3a38209abdfa8dc7717c77a46fc733f2def74520a64c5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:5149f073cf5367e5b9a2f245879e811f8bd745390588186c71cce33eba6a5ca7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/card value=docs/contracts/view-card.md|docs/contracts/view-card.publication.json|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.md value=sha256:fcc24c64153d3093a3bd7e91a3be1fe1454acdc8a6033f9a6842f94c1dadc74f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:cbcb7be08f808d2c6fece726958f1e8c10b2e3691e7c48737e11a5d720b8fd25\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/citation-file value=docs/contracts/view-citation-file.md|docs/contracts/view-citation-file.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.md value=sha256:231b3e1323d7be1c1ff3d8dd474137eefd24dde31bf37cd17a9997d2b9bfefda\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:f41898a2049ce188aa98a1defdb9926ade202dfc806d25522477bb402d063c3d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/explanation value=docs/contracts/view-explanation.md|docs/contracts/view-explanation.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.md value=sha256:6810acdd38527cfc5548f560940709ad96f35cbbbf53c1781ec7bb39e1be5cf6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:eab775b4529466785bbbe64c2e60f087e1ee4b9157fc3c22f086a00b140dd3dc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/guide value=docs/contracts/view-guide.md|docs/contracts/view-guide.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.md value=sha256:e4c58471192e4ebff183f61280b5a63d099916c4b62ad54ef3fc2a918dd429f3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:498ae119ca06acba2fceb4f1bc72004cc6560ff87ffbe6ae990c8678675f8a53\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/help value=docs/contracts/view-help.md|docs/contracts/view-help.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.md value=sha256:2f6571223342cc614d5b41f94a9376d32b2e300e232ad3f6dd3dfbb2bc9299e5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:cdc0e86486a8ed8ea470850dbffd28f84d022162b3c060423ba07b09e9bff2db\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.md|docs/contracts/view-lines.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.md value=sha256:ce6f18c8ceb8fb732af44375139fc26104550f874cc3131db383af8a0c73540c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:c15e5bf5c88e39bc7e8961adec84ad26f2f827a208c248fa8f672148d6b2170b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/manifest-render value=docs/contracts/view-manifest-render.md|docs/contracts/view-manifest-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.md value=sha256:b6e5db4157005e786f0e5a402c42a1d9fcbdd1fa0fc87aa6f22d89d59e2a6c29\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:e838fe7cd0065f2e9933c7077be4d4f65fefc009f34bf3843676210294fbd34d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:5149f073cf5367e5b9a2f245879e811f8bd745390588186c71cce33eba6a5ca7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.md|docs/contracts/view-programs.publication.json|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.md value=sha256:a13e1c60e2ebf362705b65cd2eaacb469371f38625f65b7e2b7e7dcf0ed644c7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:d044b34275c73f4d10f9c0527dd17cdf6a7cdb325a7e40bb66696caa3d4999a3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/readme-historical value=docs/contracts/view-readme-historical.md|docs/contracts/view-readme-historical.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.md value=sha256:d8fef52b9a72a47e19420b339d321139fcb56eae7f9ddab54b888525ac310a66\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:748ddcd6e661b5bca41fccdc487531f6f589606f7cfba1d2e0864a3d0a789de1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:bc0c08d937e0f34cc2b9cb1c4ea79931bb75245900b44ea3f3b8365078f2c1b9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.md|docs/contracts/view-receipts.publication.json|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.md value=sha256:fbde2134b38d32b393c2f59988fdd7e90b141ccfdb27f08bfe786d07a5bd2827\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:d31143dd662a4a26c9ff9487e153bc7e81d3ab84569617f7c8c6fd19106bc2cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/reference value=docs/contracts/view-reference.md|docs/contracts/view-reference.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.md value=sha256:0ee65259e5ac8873431344f5c3977b7f9c38ea23887f31caae1229a097151bb2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:28e05f196973178ccfe2b9e127c666360b4b9dd087cc9492c7ee31046e31bc49\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/view-release-workflow-render.md|docs/contracts/view-release-workflow-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.md value=sha256:7bd9dc32793491718589c92a3c844c5018b9252724ede1b8cd474b5d2e6779f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:58d75bd5bf6b3a86d89fb9a35337bd92310feb2f76206c5c2cd115fc6d8bc700\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/tsconfig value=docs/contracts/view-tsconfig.md|docs/contracts/view-tsconfig.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.md value=sha256:5b38869324384a0021b9d6ec17230157f5847e46fc0ad5c15bb4a9b81790a87f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:bfadfa3cac89b948e0f3db0d147fc36d6867c5b8ca99e5610b728dc7116eda3b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:e2b7ec486b5c6bfce9b1004451e88ce7f9daa1d11b69266b2925a6e4cffc7433\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/usage-profile value=docs/contracts/view-usage-profile.md|docs/contracts/view-usage-profile.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:d9f7d39ef313e213748a77e190fb6347aad98e378cfbfb66e97eb7e86d39e2cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=sha256:bf99e81325e0bbbdd5f1f1fb819c3a0ced5e88e948dbf460771d35675981a78c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/walk.json value=sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/walk.json value=sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json\n" at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.md value=sha256:f4fdacd2036509b0542c37111aeb24ef3de9e92086a8555c80a2c181f034e26e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:4467bedf821b19faa6af5c367d8b8736ec1a28387fafc285fb610b71dd78e7d2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=sha256:4fe92c37a1fd51b0cb3248f43c680f960b2b980597060df758c720486e1f508a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/query-views.json value=sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/query-views.json value=sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 role=reads scope=contract/published/view/why value=docs/contracts/view-why.md|docs/contracts/view-why.publication.json|samples/no/query-views.json|samples/yes/query-views.json|vectors/query-views.json\n" at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 -bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-lines.md value=met -bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 -bound-lock/1 at=place:sha256:009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/009f24d0378dc39b92887ede8a0c963b607e0daf5175d0477364bdecdb8c919f value=0.434602..0.434602 -bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-land.md value=met -bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 -bound-lock/1 at=place:sha256:041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/041deca41f3dc4f7c8a72a77b24de79fe63cdf9eb3ea80e54e9c0315b2d1880d value=0.455328..0.455328 -bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-guide.md value=met -bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 -bound-lock/1 at=place:sha256:05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/05655a9477cb9f2ef888e529f9a7a108e9cf5dd71420f7fac5edc7a17bcdcfb9 value=0.449474..0.449474 -bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-citation-file.md value=met -bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 -bound-lock/1 at=place:sha256:17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/17d0c79b6d73320c4b64540cd42c86f6db335466a40dedd8a39c0db279a57403 value=0.447485..0.447485 -bound-lock/1 at=place:sha256:18d2e6b3b7fa66c3d7685f71800ac9c45ed3e29cba267da10011546fa1c34e2d by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=0..0 -bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-fold.md value=met -bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 -bound-lock/1 at=place:sha256:19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/19fafe1b2ad73f14084a4a978d98f39937cfbb9580f6d5873cc81ae1a92f4319 value=0.435097..0.435097 -bound-lock/1 at=place:sha256:1d5dfa24588f749a90ca420fd86db50d86004ff746bed1fd16063c2c564b7c40 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=0..0 -bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-reference.md value=met -bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 -bound-lock/1 at=place:sha256:21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/21b73989e39791e3dfb23e8bb2b6959169289bea4afec30a14c8439fc4c5e1de value=0.445475..0.445475 -bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-manifest-render.md value=met -bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 -bound-lock/1 at=place:sha256:3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/3175ae43114e7de2488ee9b4533bb6b358cffe8730823c244eb43c31db8c55f7 value=0.447593..0.447593 -bound-lock/1 at=place:sha256:31e1daac3410e3293abad961650eb3c799332c60082e0635e40362036a675905 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=0..0 -bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-readme-historical.md value=met -bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 -bound-lock/1 at=place:sha256:336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/336753bea3c28957df979eef2d3bc5223848fe6866fde65a5cafc4fa0d47a3c8 value=0.444885..0.444885 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" -bound-lock/1 at=place:sha256:343a3b81e2ed111d3463b9896d0b640172efa8385365f85302601c53000d002d by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" -bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-tsconfig.md value=met -bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 -bound-lock/1 at=place:sha256:38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/38f043fce46c32e3bcc80aef8b6025d79890039c1f2ae1a4ab1f73053c021fbd value=0.449910..0.449910 -bound-lock/1 at=place:sha256:40e376ae330c6c499533b136cb81836cdcf025c2ab5d7e108e667414b0587b86 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published value=0..0 -bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-programs.md value=met -bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met -bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met -bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 -bound-lock/1 at=place:sha256:45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/45837d57bac6ddf25a26394dc856adf5dbda818571815eb45aa502bfd45bd87e value=0.440572..0.440572 -bound-lock/1 at=place:sha256:556e00ae3c438952c9541301bf4785409b7eab5e17bccded1f52cd39cb13f8ef by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=0..0 -bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-why.md value=met -bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met -bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met -bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met -bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 -bound-lock/1 at=place:sha256:6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/6eb3de5d83bf1762df4ba639c2b3aa42cf62f0d88665fbf6aed3eb9e3233d692 value=0.439226..0.439226 -bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-receipts.md value=met -bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 -bound-lock/1 at=place:sha256:75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/75b59d34ae727d501e1fb62b2d926c0edb331cd746f9f6080c26ad57d2912343 value=0.443712..0.443712 -bound-lock/1 at=place:sha256:85e7bf2823ccbe1f9b9d2a57b28aea53fd1b08567f8f2550f672773ed2509964 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=0..0 -bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-release-workflow-render.md value=met -bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 -bound-lock/1 at=place:sha256:87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/87bf51e5c0468a5cf5b804297f6e059841fd99abcfea0940fd25485e81b0812f value=0.438427..0.438427 -bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli-sign.md value=met -bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met -bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met -bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met -bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 -bound-lock/1 at=place:sha256:8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/8c341105fa1db0141cfd1cccbd17beef35aa66aaabf17ce01a2cbd2429683496 value=0.442547..0.442547 -bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met -bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 -bound-lock/1 at=place:sha256:90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/90aff9d0fb316807b6c4fd9950b47ec43d7747ef860e0aa3f8e983045c9c8f0c value=0.447239..0.447239 -bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-card.md value=met -bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met -bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met -bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 -bound-lock/1 at=place:sha256:98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/98b99246d02c88580ce8b0d9c5c1a19999c73707898355907459f59aa5eb1ef4 value=0.440561..0.440561 -bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-usage-profile.md value=met -bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 -bound-lock/1 at=place:sha256:9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9a2e371c647ab9efbb139a6a63d734a07893d266b103fc66f480588f1e47b542 value=0.454211..0.454211 -bound-lock/1 at=place:sha256:9cba8916daa1bcbd3f3975110986ed49ad656ce5a7711214caa8468932abe7fb by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a39cb8d552ccb7122b7d30d823238922f4f5ea5f68ea1a78f0c2fa6a3117a696 value=0..0 -bound-lock/1 at=place:sha256:beb678b8e834182041f76e16fb1d0d1048307d9dc7d47d64d9dbd253a4bc94c3 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=0..0 -bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-explanation.md value=met -bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 -bound-lock/1 at=place:sha256:bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/bf6b5ef1a2f8fdc3de5828f68783a77c7b3439483089106223e3cd678b6c9208 value=0.441219..0.441219 -bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-help.md value=met -bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 -bound-lock/1 at=place:sha256:dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/dfe07472962538bd6ccc3d116c756aa544f0c41f08582a8b027e72511ee620d5 value=0.449165..0.449165 +bound-lock/1 at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=f02cd38d39c5a14b +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=f2ba95dbc77e18d3 +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=fb6841cdd1a9f691 +bound-lock/1 at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=fd71d5ce54a30a49 +bound-lock/1 about="bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=5..5 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:6085a889a9b94fd27e55e004fd46919fe5889fc1851cc22bfd86d2c97badb4c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive.md value=sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=sha256:b45fd971e6975b1965057d4028d083d3cc801e2f713bf226840cfe54adfeb7b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/archive-conformance.json value=sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/archive-conformance.json value=sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/archive-conformance.json value=sha256:c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f role=reads scope=contract/published/pipeline/archive value=docs/contracts/archive-conformance.publication.json|docs/contracts/archive.md|samples/no/archive-conformance.json|samples/yes/archive-conformance.json|vectors/archive-conformance.json\n" at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:efeae360709b0bdd9e0641e65bec91a3a3a29c534a982dc287287ae7afe512cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:c95c704f175e189b1d0f7f0a91374e251689e0a2f7265cc759c55cf5b9e8be1a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:8187552aaee39c9e2b748158623ba341f8c2e132a3aa472dcb89b1986311796d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:c6b3a00809e69db29861160b6dfaded9d491cb398f48d4ba18f583e8f2d74a1c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=sha256:38eab0f25722e8559d4afc43f78d66f54d7b1ebcac04d5f87c09d60778763544\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/signing-port.json value=sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/signing-port.json value=sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.publication.json|docs/contracts/cli.md|samples/no/signing-port.json|samples/yes/signing-port.json|vectors/signing-port.json\n" at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:8fd8362d2b64292c0eb5b587984e67f65417df611ff0f35876af58e42ab3f2b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/citation-file value=docs/contracts/documents.md|docs/contracts/view-citation-file.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:c60066fb7a05399af4f62aff0e30a18c5ceb79c229bef6fa2369acd880eec428\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/explanation value=docs/contracts/documents.md|docs/contracts/view-explanation.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:40c884f7e1f7004330767073288fca859239cb621a565e5a4348b3b5243854fd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/guide value=docs/contracts/documents.md|docs/contracts/view-guide.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:51b9a7d904d0d6986c8e392c3bd9a64edc75ecbadbdc5056d6dd69cf380e6d02\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/manifest-render value=docs/contracts/documents.md|docs/contracts/view-manifest-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:74d5de324c84700455fd5d1f27ade0db283bc819bd7077fa0ba5b9bb91185ebf\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/readme-historical value=docs/contracts/documents.md|docs/contracts/view-readme-historical.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:2d79bedaeb09f7a983d7825f2155f5830c2a12a913a77f5f8246391015c63bda\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/reference value=docs/contracts/documents.md|docs/contracts/view-reference.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:bddd22afcb7479de5e1fa835bbd7edaca668859a33eb58a64aa9e94c86aed0a1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/documents.md|docs/contracts/view-release-workflow-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:017235397bbd6cae017dc257fb2db87380325046ae87b63f2db53b0d6205e904\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/tsconfig value=docs/contracts/documents.md|docs/contracts/view-tsconfig.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:e0fe246c4768c2022524fe54d7eb0849a2a8cbc3b3ba9e94ea34f5fa9a2b84ef\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/usage-profile value=docs/contracts/documents.md|docs/contracts/view-usage-profile.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:e914a8753b6803c73ed05166a78577742e4fc684e009467e94882f9fd58c3dfb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=sha256:fa5b851eb8a0a4c81363cdfd010a36d39a8e8e831c032dcd768a881ed53b2c6e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/typed-object.json value=sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/typed-object.json value=sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/no/typed-object.json|samples/yes/typed-object.json|vectors/typed-object.json\n" at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:1d50d3bce5ec3155cf5ac1f32160a27cbb5c67b4bf23d8397dc5b3fb192cd709\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/card value=docs/contracts/view-card.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:90c3752d23c7429f512ed780ad293652db5b3098d91bdb63d1f4b86753b1aee0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/help value=docs/contracts/view-help.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:a6107a627b7a2cf18d96bbb1a21f61b1a3562c7eb6a67252cf94ac4964e7c23e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:d22ea5b51f369bdb89d8ff762cb61f5c05994c9eaac3e59131ed40139b2294f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:1275c2f0fc854ca3c115aec57b6a2800425026a12c1c35c874857c6fa2f692e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:d9f7d39ef313e213748a77e190fb6347aad98e378cfbfb66e97eb7e86d39e2cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=sha256:1ca81d8aafbe25d3e23eeb2b7b777c70ce5cce67519cc1738463d8e40836bbc6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/walk.json value=sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/walk.json value=sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json\n" at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:b554a63a3c9f2cba85cbc4cc4809324f0cd8c4903326029912270bceda206acb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=sha256:8cc952a6b3c3a70fd90d59ecdb9089d3c48d9bb03940b97d4aa857eefed64097\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/query-views.json value=sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/query-views.json value=sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 role=reads scope=contract/published/view/why value=docs/contracts/view-why.publication.json|docs/contracts/views.md|samples/no/query-views.json|samples/yes/query-views.json|vectors/query-views.json\n" at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=0.202563..0.202563 +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=0.209962..0.209962 +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=0.197739..0.197739 +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=0.207598..0.207598 +bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=0..0 +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=0.208077..0.208077 +bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=0..0 +bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published value=0..0 +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=0.200795..0.200795 +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=0.201813..0.201813 +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=0.202448..0.202448 +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=0.205380..0.205380 +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=0.201321..0.201321 +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=0.201784..0.201784 +bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=0.209941..0.209941 +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=0.208624..0.208624 +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=0.203790..0.203790 +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=0.209655..0.209655 +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=0.199971..0.199971 +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=0.204573..0.204573 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=0.206477..0.206477 +bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=0..0 +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=0.203591..0.203591 +bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=0..0 +bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=0..0 +bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=0..0 +bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=0..0 +bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=0..0 +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=0.202126..0.202126 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none @@ -244,25 +252,18 @@ bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/org value=0..0 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/path value=0..0 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 -bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met -bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met -bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met -bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met -bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 -bound-lock/1 at=place:sha256:e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/e5ad4ba29e1b2df67775baf068fad741a01cd3fe7f3fb8116102b495b68b9a53 value=0.447617..0.447617 -bound-lock/1 at=place:sha256:e61cbfcd60e9d72849267e026ffdc12cacb1e8fbd3cdbf1a1b1f14b16e153919 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=0..0 -bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/015-stage-10.md value=met -bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/015-stage-10.json value=met -bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/015-stage-10.json value=met -bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/015-stage-10.json value=met -bound-lock/1 at=place:sha256:e9d10e2244871811ac4993988db56496eca5116d5c966a030d80f26be12efc09 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 -bound-lock/1 at=place:sha256:f79c1df555d855268b1e8173a425f4175a7955ef4129704699681272afa19fb5 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 -bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met -bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met -bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met -bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met -bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 -bound-lock/1 at=place:sha256:fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/fcc7a505bcf78dc9025e3ae5390d537142cc5758b3dc97b25e520ccf7c0e6f9b value=0.437959..0.437959 +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=0.209608..0.209608 +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=0.209015..0.209015 bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=status role=writes scope=law/a-fact-is-a-printed-line value=present bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=cone role=writes scope=law/a-fact-is-a-printed-line value=samples/yes/a-fact-is-a-printed-line.json|samples/no/a-fact-is-a-printed-line.json bound-lock/1 at=cone:957f15a6bf76172db7ad6fc3ad985d3a2d29d53b0d7f26496278534a6b27eaa5 by=judge form=alphabet measure=status role=writes scope=law/a-refuse-plants value=present @@ -291,55 +292,55 @@ bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be5 bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=cone role=writes scope=view/usage-profile value=docs/usage.md bound-lock/1 at=place:sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa -bound-lock/1 at=place:sha256:9256dc6723df4d221d5ff5a5d5a569a8f6027d441d42dc47d22359c5b2a7e4cd by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:601b443a6bcfeb8f80f4b9f5b6a9a3b03d7f924df2baa763678e069e7de7733d +bound-lock/1 at=place:sha256:6ff80b89e3704e72e5950afddacae31aea57d274d0d0e38865386cc4ae5db1a1 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:a130a36b86251f6e315bf9188bb950ad6fca5ad2779402f60e23263fb62b552a -bound-lock/1 at=place:sha256:33debac31d2a11eeeb9e86ed92bc089818199eb92c735fc82169325d550a3d85 by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 -bound-lock/1 at=place:sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 -bound-lock/1 at=place:sha256:bf51fd9f1d1f257f83bab6c8981cdb39f9e55919d5417594b232140fdfc452b9 by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 -bound-lock/1 at=place:sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:9fe7cb463be81de0a878c98daa0bce110de1bab3b21d15aada7fbdaff9e737d8 -bound-lock/1 at=place:sha256:4e68d62fcedaf0bcba285a276fb1693a7570615f4f35ebcd9498fe31b8d4538b by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:caedb76d608c0df4ac698a0b98f81f0ce9c091322523c1cb3d756a9b9de79d53 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:983ba62066937790de68cbbadab5a434cb79b877743e61691e0037e630d65023 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:4425c2a74b345c0c7e39b81eb951d75212d808177cf72f494d472c2cac07a673 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:d2cb618e507868988b2fb36c793d66708fc5b310c5e697c04e843b1654f68ddb by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 -bound-lock/1 at=place:sha256:26547d70ef820ae70351fd5bedcd3bdba047a179c2ff10476480182f5386e034 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:26547d70ef820ae70351fd5bedcd3bdba047a179c2ff10476480182f5386e034 -bound-lock/1 at=place:sha256:eb64230a937b31f362b26f8fa65dc89ae6c7b6f48b04f0f23aabd2dfdc4478b5 by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:3b3d39edf4587b94b3486f8fa864c21892b757c9d8c2e6a9a1ab5963ff849bba by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 +bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 +bound-lock/1 at=place:sha256:6ea00fe75e77dd8e5ae6b19d5bc5331bb5f7da7f3040af6c088d24971c95506a by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 +bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 +bound-lock/1 at=place:sha256:e28f4a732376af3b91d9820131ec0fea2d3f814f66904a882257b59b1d5ec3e3 by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:1b402f9910292cedfa38afcc3abe2f288263ebbee9733fd8590ec1398991d930 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:2209d76ea55d9537ffc5e24bb674b0cf396d1e13696aa6b5553cf852b612b732 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:05c8e941784d1f631e42278c37715c9ef9a9755e71bf99c36c0155f45ded8de9 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:9caf5678b5c72882aaf52eb10a442b433c675cb2966fbec1a0dcc613d1a0c4cc by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 +bound-lock/1 at=place:sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 +bound-lock/1 at=place:sha256:aca94c640be46f4f5a4e536549d2f3c72a1881a686a137d0e5c0a1254e595d00 by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 bound-lock/1 at=place:sha256:14efce37002fcf7059ba79f536b5977dec16b6a3f420c9ece61c188f742405ef by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:08fbd553e0fc5cb9d0b619f27187169b71f66823b1bfdbf8343543ebaf9fcace by=bound form=interval measure=count role=writes scope=receipts/execute value=8..8 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:d2e89dcd3dc1331e48e9ed1f557da4250a02c0409548389b8089db2d0b9f16ca by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:4d11cf355b6e3095ede19601c21191720bf4332d8c466046ef1c66bf4b68b9eb by=bound form=interval measure=count role=writes scope=receipts/execute value=8..8 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:792cf4f8e792f74be2d68726ea20d0a44c3c29894a5dd45f69db45575b2c4fed by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 bound-lock/1 at=place:sha256:54a1aa95180da1823567572736a95624f73abf2d449e10e552c65ce6d506e086 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 bound-lock/1 at=place:sha256:24023fde10bc3f5ad0c60d2b04cca3907b111a5431c6d6f0fc1171a9c3a67c8c by=bound form=interval measure=count role=writes scope=receipts/law value=10..10 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 bound-lock/1 at=place:sha256:1e455d16eae3f8af6ec0572b277acd383acbc15797955332f993ce9a75ed8303 by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:d3bbd07262af1db011bc39a44c7ae31e87d9156bbc53ea3950fc064fd8704a2a by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:2c28157d37fdf925e25660297f51dfa784a6cc6451481fcd2782010e420aaa25 by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:c2429b99987646e587d28b1d90c42e4df082a9eb5baa537b4f97aa4c2a72d63f by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:cb78acbb552e8315ccce62702969afd754c13104ec3ded108187bdbd14b2f570 by=bound form=interval measure=count role=writes scope=receipts/proof value=8..8 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:fc24732bc8cccfa780c20fb25e05b2aea8ba843431c6af1c642dd92ade4e32eb by=bound form=interval measure=count role=writes scope=receipts/receipts value=87..87 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:3ae07948eaa94d22167e835caa2524cc4efdea7a54654a33d38094e0236cba35 by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:e477ab8d273a4a3dfe8c0ed7eb007523d6e1c5e2fabcba62bc0adf4e1676b0b6 by=bound form=interval measure=count role=writes scope=receipts/samples value=44..44 -bound-lock/1 at=place:sha256:c4dfdd5f0d2dfa60c674fb6d3e6e7e5b917163f0626604f0998150c01963f056 by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:c4dfdd5f0d2dfa60c674fb6d3e6e7e5b917163f0626604f0998150c01963f056 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:19fb1641fca77d7d8ce0ed6797c03b64f4704ebd1297cf34ed2dc3e39ae5a897 by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:c69219e03418aef9a6fdec1279c4c1a7a04cdc03b1f5df113b46659c78ed5a9b by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:60757662e0989df1c0b2b14ebde02148eb13f1ea9abd191f0ccd2dac22ae3c5b by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:567e86393603a36f9ad7d3d58dfb59d88eb88756003ee41ce3164d8d5f21195c by=bound form=interval measure=count role=writes scope=receipts/proof value=8..8 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:7f26b5d0a88d9ff21dea731a4a48f405311af450744e0f80c3e614acf1aafae3 by=bound form=interval measure=count role=writes scope=receipts/receipts value=88..88 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:bba2c1d6191f67318ec35a187171e2df4f4d6b8b337e10fc2dd015cc7f733b9a by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:5208d5afe14557d699922e705563f09a3984a52914137edad9a0131c3a12794b by=bound form=interval measure=count role=writes scope=receipts/samples value=44..44 +bound-lock/1 at=place:sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a bound-lock/1 at=place:sha256:4b33d417a5bf1d38c2e54272a5d73b86971166d546620d9ea7b9fb72c579368b by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:6413d26bc20557355e7515e15d13e0cbda6b6938057c78e942ed97fadcefacd9 by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 -bound-lock/1 at=place:sha256:cd9bae2daf71dec9d3b15c1e5b60afb1a1fd05154eb0c79619f3e0aede7f5f49 by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 -bound-lock/1 at=place:sha256:035cd116aec096e73c0101cae5a13ac8ad72da02efa5cffd160651d86557d3f7 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:035cd116aec096e73c0101cae5a13ac8ad72da02efa5cffd160651d86557d3f7 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:483602dc2e165aa25f851cc40c233a0f675eebab7a40ae87fb6e23a527a94e26 by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:d96f2e4c2bdbbf99706ba9c51166874fb4ed9c7fd06c30784e5c633b1dabd0de by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 +bound-lock/1 at=place:sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 bound-lock/1 at=place:sha256:1c9ee8060471185a172fbe44aaa8f375282fad5c1550160adbb180cded3bb2b5 by=bound form=interval measure=count role=writes scope=receipts/view value=16..16 -bound-lock/1 at=place:sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:3875abb22339119f1f4091f5069c95b73f686b2d6a1f6dbb9a632430f05e9399 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 diff --git a/samples/no/015-stage-10.json b/samples/no/archive-conformance.json similarity index 100% rename from samples/no/015-stage-10.json rename to samples/no/archive-conformance.json diff --git a/samples/yes/015-stage-10.json b/samples/yes/archive-conformance.json similarity index 100% rename from samples/yes/015-stage-10.json rename to samples/yes/archive-conformance.json diff --git a/test/instrument-closure.test.ts b/test/instrument-closure.test.ts index 3ad9c97..3d5b10c 100644 --- a/test/instrument-closure.test.ts +++ b/test/instrument-closure.test.ts @@ -16,7 +16,7 @@ test('implementation identity follows compiled imports, package exports and decl writeFileSync(join(root,'node_modules','fixture-provider','package.json'),'{"type":"module","exports":"./index.js"}'); const provider=join(root,'node_modules','fixture-provider','index.js'); writeFileSync(provider,'export const value=1;\n'); - writeFileSync(join(root,'entry.js'),`import "node:fs"; export {value} from "fixture-provider"; import("./helper.js"); const record={scope: 'receipts/import', role: 'writes'}; // import 'missing-comment' + writeFileSync(join(root,'entry.js'),`import "node:fs"; export {value} from "fixture-provider"; import("./helper.js"); const record={scope: 'receipts/import', role: 'writes'}; const text="import 'missing-string'"; const pattern=/import 'missing-regex'/; // import 'missing-comment' `); writeFileSync(join(root,'helper.js'),'export const helper=1;\n'); writeFileSync(join(root,'worker.js'),'export const worker=1;\n'); diff --git a/vectors/015-stage-10.json b/vectors/archive-conformance.json similarity index 83% rename from vectors/015-stage-10.json rename to vectors/archive-conformance.json index bd86bae..69b99b3 100644 --- a/vectors/015-stage-10.json +++ b/vectors/archive-conformance.json @@ -8,8 +8,8 @@ "program": "runtime", "args": [ "tools/samples/run-archive.mjs", - "samples/yes/015-stage-10.json", - "samples/no/015-stage-10.json" + "samples/yes/archive-conformance.json", + "samples/no/archive-conformance.json" ], "cwd": ".", "timeoutMs": 15000, @@ -39,8 +39,8 @@ ], "inputs": [ "tools/samples/run-archive.mjs", - "samples/yes/015-stage-10.json", - "samples/no/015-stage-10.json" + "samples/yes/archive-conformance.json", + "samples/no/archive-conformance.json" ] } ] From 1698718e767a1099062cfc68f1b2f4ee4d85ada1 Mon Sep 17 00:00:00 2001 From: NahumDev <60716442+NahumOchoa@users.noreply.github.com> Date: Thu, 8 Oct 2026 11:46:56 -0600 Subject: [PATCH 3/6] Ship native sample places and instrument-only publication vectors --- README.md | 7 +- TARGET.bound | 21 +- .../archive-conformance.publication.json | 12 +- docs/contracts/archive.md | 10 +- .../attest-evidence.publication.json | 12 +- docs/contracts/cli-fold.publication.json | 10 +- docs/contracts/cli-land.publication.json | 10 +- docs/contracts/cli-sign.publication.json | 10 +- docs/contracts/evidence-view.md | 6 +- docs/contracts/typed-object.md | 34 +- docs/contracts/typed-object.publication.json | 12 +- docs/contracts/view-card.publication.json | 10 +- .../view-citation-file.publication.json | 10 +- .../view-explanation.publication.json | 10 +- docs/contracts/view-guide.publication.json | 10 +- docs/contracts/view-help.publication.json | 10 +- docs/contracts/view-lines.publication.json | 10 +- .../view-manifest-render.publication.json | 10 +- docs/contracts/view-programs.publication.json | 10 +- .../view-readme-historical.publication.json | 10 +- docs/contracts/view-receipts.publication.json | 10 +- .../contracts/view-reference.publication.json | 10 +- ...w-release-workflow-render.publication.json | 10 +- docs/contracts/view-tsconfig.publication.json | 10 +- .../view-usage-profile.publication.json | 10 +- docs/contracts/view-walk.publication.json | 10 +- docs/contracts/view-why.publication.json | 10 +- docs/why.md | 7 +- package.json | 1324 +- receipts.bound | 723 +- samples/artifacts-changed/TARGET.bound | 112 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b | 6 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + .../artifacts-changed/fixtures/history.txt | 51 + samples/artifacts-changed/receipts.bound | 9 + samples/artifacts/TARGET.bound | 112 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b | 5 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/artifacts/fixtures/history.txt | 51 + samples/artifacts/receipts.bound | 9 + .../historical-document-views-1/CITATION.cff | 6 + samples/historical-document-views-1/README.md | 9 + .../historical-document-views-1/TARGET.bound | 61 + .../historical-document-views-1/docs/guide.md | 4 + .../docs/reference.md | 11 + .../historical-document-views-1/docs/why.md | 3 + ...b2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 | 1 + ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 + ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 0 -> 33422 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 0 -> 2776 bytes ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 0 -> 936 bytes .../historical-document-views-1/manifest.json | 1 + samples/historical-document-views-1/notes.md | 3 + .../historical-document-views-1/process.yml | 2 + .../receipts.bound | 0 .../historical-document-views-1/tsconfig.json | 11 + .../historical-document-views-2/CITATION.cff | 6 + samples/historical-document-views-2/README.md | 9 + .../historical-document-views-2/TARGET.bound | 63 + .../historical-document-views-2/docs/guide.md | 4 + .../docs/reference.md | 11 + .../historical-document-views-2/docs/why.md | 3 + ...b2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 | 1 + ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 + ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 0 -> 33422 bytes ...b578670e79b106d8f8d93cffe5850a245f9c4a55bd | 1 + ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 0 -> 2776 bytes ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 0 -> 936 bytes .../historical-document-views-2/manifest.json | 1 + samples/historical-document-views-2/notes.md | 3 + .../historical-document-views-2/process.yml | 2 + .../receipts.bound | 0 .../historical-document-views-2/tsconfig.json | 11 + .../historical-document-views-3/CITATION.cff | 6 + samples/historical-document-views-3/README.md | 9 + .../historical-document-views-3/TARGET.bound | 67 + .../historical-document-views-3/docs/guide.md | 4 + .../docs/reference.md | 11 + .../historical-document-views-3/docs/why.md | 3 + ...b2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 | 1 + ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 + ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 0 -> 33422 bytes ...b578670e79b106d8f8d93cffe5850a245f9c4a55bd | 1 + ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 0 -> 2776 bytes ...21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 | 1 + ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 0 -> 936 bytes .../historical-document-views-3/manifest.json | 1 + samples/historical-document-views-3/notes.md | 3 + .../historical-document-views-3/process.yml | 2 + .../receipts.bound | 0 .../historical-document-views-3/tsconfig.json | 11 + .../historical-document-views-4/CITATION.cff | 6 + samples/historical-document-views-4/README.md | 9 + .../historical-document-views-4/TARGET.bound | 61 + .../catalogue.json | 1 + .../historical-document-views-4/catalogue.md | 3 + .../historical-document-views-4/catalogue.yml | 2 + .../historical-document-views-4/docs/guide.md | 4 + .../docs/reference.md | 11 + .../historical-document-views-4/docs/why.md | 3 + ...e8b4183744ea26548b6ddc871e83bfc4018f032a66 | 1 + ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 + ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 0 -> 33422 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 0 -> 2776 bytes ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 0 -> 936 bytes .../receipts.bound | 0 .../historical-document-views-4/tsconfig.json | 10 + .../historical-document-views-5/CITATION.cff | 6 + samples/historical-document-views-5/README.md | 9 + .../historical-document-views-5/TARGET.bound | 63 + .../catalogue.json | 1 + .../historical-document-views-5/catalogue.md | 3 + .../historical-document-views-5/catalogue.yml | 2 + .../historical-document-views-5/docs/guide.md | 4 + .../docs/reference.md | 11 + .../historical-document-views-5/docs/why.md | 3 + ...e8b4183744ea26548b6ddc871e83bfc4018f032a66 | 1 + ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 + ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 0 -> 33422 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 0 -> 2776 bytes ...2216bd897b0da4cb02b2668be73061e567330f29a3 | 1 + ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 0 -> 936 bytes .../receipts.bound | 0 .../historical-document-views-5/tsconfig.json | 10 + .../historical-document-views-6/CITATION.cff | 6 + samples/historical-document-views-6/README.md | 9 + .../historical-document-views-6/TARGET.bound | 67 + .../catalogue.json | 1 + .../historical-document-views-6/catalogue.md | 3 + .../historical-document-views-6/catalogue.yml | 2 + .../historical-document-views-6/docs/guide.md | 4 + .../docs/reference.md | 11 + .../historical-document-views-6/docs/why.md | 3 + ...e8b4183744ea26548b6ddc871e83bfc4018f032a66 | 1 + ...566d35fedcd332e21b860d356f812df85232de131c | 1 + ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 + ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 0 -> 33422 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 0 -> 2776 bytes ...2216bd897b0da4cb02b2668be73061e567330f29a3 | 1 + ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 0 -> 936 bytes .../receipts.bound | 0 .../historical-document-views-6/tsconfig.json | 10 + .../native-views/inputs/001-north.proposal | 1 + .../native-views/inputs/002-north.proposal | 1 + .../native-views/inputs/003-south.proposal | 1 + .../native-views/inputs/004-south.proposal | 1 + .../native-views/inputs/005-alias.proposal | 1 + .../native-views/inputs/006-alias.proposal | 1 + .../inputs/007-uncovered.proposal | 1 + samples/native-views/inputs/008-altered.bound | 1 + .../native-views/inputs/009-withdraw.proposal | 1 + .../native-views/inputs/010-north.proposal | 1 + .../native-views/inputs/011-north.proposal | 1 + .../native-views/inputs/012-south.proposal | 1 + .../native-views/inputs/013-south.proposal | 1 + .../native-views/inputs/014-alias.proposal | 1 + .../native-views/inputs/015-alias.proposal | 1 + .../inputs/016-native-receipt.proposal | 1 + .../inputs/016-uncovered.proposal | 1 + samples/native-views/inputs/017-altered.bound | 1 + .../inputs/017-native-receipt.proposal | 1 + .../inputs/018-uncovered.proposal | 1 + .../native-views/inputs/018-withdraw.proposal | 1 + samples/native-views/inputs/019-altered.bound | 1 + .../native-views/inputs/019-north.proposal | 1 + .../native-views/inputs/020-north.proposal | 1 + .../native-views/inputs/020-withdraw.proposal | 1 + .../native-views/inputs/021-south.proposal | 1 + .../native-views/inputs/022-south.proposal | 1 + .../native-views/inputs/023-alias.proposal | 1 + .../native-views/inputs/024-alias.proposal | 1 + .../inputs/025-uncovered.proposal | 1 + samples/native-views/inputs/026-altered.bound | 1 + .../native-views/inputs/027-withdraw.proposal | 1 + .../native-views/inputs/028-north.proposal | 1 + .../native-views/inputs/029-north.proposal | 1 + .../native-views/inputs/030-south.proposal | 1 + .../native-views/inputs/031-south.proposal | 1 + .../native-views/inputs/032-alias.proposal | 1 + .../native-views/inputs/033-alias.proposal | 1 + .../inputs/034-native-receipt.proposal | 1 + .../inputs/035-native-receipt.proposal | 1 + .../inputs/036-uncovered.proposal | 1 + samples/native-views/inputs/037-altered.bound | 1 + .../native-views/inputs/038-withdraw.proposal | 1 + samples/native-views/place-1/TARGET.bound | 39 + ...d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 | 1 + ...86f7b37480996b7625c89b4e88c2ac204286a2fc07 | 1 + ...d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 | 1 + ...32aad9fea5a0351b76cc91ac336ba448f59eacbbdb | 1 + ...d96cf38c56f704c491185e69a1b2ff1867122a2258 | 1 + ...5b7096f5b5409b38a04b9a3d6763909e13167d3c79 | 1 + ...6fc74c471c330626904f0d42e04191a1a6cbc31a48 | 1 + ...bb6d5a83201d514a653d1627bbb5b493cfeb87fa0d | 1 + ...bec0391b69f526d71bb53dc1ec754e5a22231b55a7 | 1 + ...ae213e5bc919c27a350ce60e711e4d0d75cd497d54 | 1 + samples/native-views/place-1/receipts.bound | 4 + samples/native-views/place-2/TARGET.bound | 39 + ...ba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 | 1 + ...78f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac | 1 + ...9c410c1406ac896acd28a681f600d4813528fd52ab | 1 + ...ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 | 1 + ...32a71babda11b37c94690f2ebc6ea965660b1f2c09 | 1 + ...e1554d0ef3681d667cfd6aeb88acff18e92c5d992c | 1 + ...4a0cf85946addca058dae9ea8ee3e32ad68b6a297d | 1 + ...e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 | 1 + samples/native-views/place-2/receipts.bound | 4 + samples/native-views/place-3/TARGET.bound | 39 + ...fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d | 1 + ...5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 | 1 + ...4ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 | 1 + ...77ece8e4bf847b337697ebf0b9b43baa0553764700 | 1 + ...745d9e0384e864b8fd2462317bd8fc81234ac24247 | 1 + samples/native-views/place-3/receipts.bound | 4 + samples/native-views/place-4/TARGET.bound | 38 + ...c8c469958074e90e4486a6864348b3e49f45e26f42 | 1 + ...c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 | 1 + ...95d333626c0b23ec1da6c6741edf69627e857f57b7 | 1 + samples/native-views/place-4/receipts.bound | 4 + samples/native-views/place/TARGET.bound | 38 + ...f8f4cd5e5df065b274c739443b1705b3c30b651369 | 1 + ...1849aec6ec84acc38f3dded97e6661254537c4ea7a | 1 + ...06fec867bd0c61af89c08e70b11c7740bc560f9a39 | 1 + ...37b6a85777c04066c532fc6549a658c60f5519e46b | 1 + ...ef496b61a917a88291a48183a6a8ae236cd5f62972 | 1 + ...302735c7c58e2f5229836df06214d1beecda733720 | 1 + ...f4645d5d36d1f054e6b195dcbd4450c7859288d9f2 | 1 + ...883ab8577c918367c48714adf1704a9e0a38ddc3b2 | 1 + samples/program-views-1/TARGET.bound | 37 + ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 + ...5d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 | 1 + ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 0 -> 38752 bytes samples/program-views-1/receipts.bound | 0 samples/program-views-2/TARGET.bound | 37 + ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 + ...5648d2ce5011f9fa9fb4be504d10e663a226d45eca | 1 + ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 0 -> 38752 bytes samples/program-views-2/receipts.bound | 0 samples/program-views-3/TARGET.bound | 37 + ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 + ...a7029755fe0d0458c14e73b6083f97033614f0b05c | 1 + ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 0 -> 38752 bytes samples/program-views-3/receipts.bound | 0 samples/program-views-4/TARGET.bound | 37 + ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 + ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 0 -> 38752 bytes ...cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f | 1 + samples/program-views-4/receipts.bound | 0 samples/query-views-1/TARGET.bound | 23 + ...452c3056a95ea12a2a283d5de41f797e9c077be9e8 | 1 + ...4d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1 | 1 + samples/query-views-1/receipts.bound | 0 samples/query-views-1/source.txt | 1 + samples/query-views-2/TARGET.bound | 23 + ...f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8 | 1 + samples/query-views-2/receipts.bound | 0 samples/query-views-2/release.txt | 1 + samples/signing-port/absent-3/TARGET.bound | 14 + samples/signing-port/command-2/TARGET.bound | 17 + ...8aedb56250ba55b24073831ecf1e85e8cac23e9d15 | 1 + ...0337372d3d833c807a4b4a41c2154170e32a38cdf5 | 1 + ...0205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746 | 1 + ...0da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025 | 1 + samples/signing-port/file-1/TARGET.bound | 17 + ...134c9c1a8e7c2f7987078bfbf907827c5d5fa79692 | 1 + ...babbce98ac402dbc642b1121eb2f78e531d6a6c0d7 | 1 + ...265f1328002ca127a67085a9d22cb4885d1c724630 | 1 + ...057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf | 1 + samples/signing-port/inputs/001-lot.proposal | 2 + .../signing-port/inputs/002-signed.proposal | 2 + samples/signing-port/inputs/003-lot.proposal | 2 + .../signing-port/inputs/004-invalid.proposal | 2 + .../inputs/file-signature.proposal | 0 samples/typed-changed/TARGET.bound | 112 + samples/typed-changed/artifacts.json | 81 + samples/typed-changed/artifacts.vector.json | 173 + samples/typed-changed/contract.json | 37 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 6 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-changed/fixtures/history.txt | 51 + samples/typed-changed/no.json | 142 + samples/typed-changed/range.vector.json | 173 + samples/typed-changed/receipts.bound | 9 + samples/typed-changed/wire.json | 22 + samples/typed-changed/yes.json | 78 + samples/typed-object-1/TARGET.bound | 119 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 + ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-object-1/fixtures/history.txt | 51 + samples/typed-object-1/receipts.bound | 9 + samples/typed-object-2/TARGET.bound | 120 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 + ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 + ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 + ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 + ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 + ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-object-2/fixtures/history.txt | 52 + samples/typed-object-2/receipts.bound | 9 + samples/typed-object-3/TARGET.bound | 123 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 + ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 + ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 + ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 + ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 + ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 + ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-object-3/fixtures/history.txt | 55 + samples/typed-object-3/receipts.bound | 9 + samples/typed-object-4/TARGET.bound | 125 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 + ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...12cdc2d476907371ca25080a378f91519e4f661c14 | 1 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 + ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 + ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 + ...2c9bbad5b5b802af2d05672b886846efa8b10610b9 | 1 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 + ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 + ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 + ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 + ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-object-4/fixtures/history.txt | 57 + samples/typed-object-4/receipts.bound | 9 + samples/typed-object-5/TARGET.bound | 126 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 + ...07df24a8e0fe64a3eaf34e8de1e4401bafe632526a | 1 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 + ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...12cdc2d476907371ca25080a378f91519e4f661c14 | 1 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 + ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 + ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 + ...2c9bbad5b5b802af2d05672b886846efa8b10610b9 | 1 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...e4424ac4ef8aae3d1ba59540b015077681d4634c41 | 1 + ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...38ad7abaf7deed32734b147bc993fca6d132b0a90d | 1 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 + ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 + ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 + ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 + ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-object-5/fixtures/history.txt | 58 + samples/typed-object-5/receipts.bound | 9 + samples/typed-object-6/TARGET.bound | 127 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 + ...07df24a8e0fe64a3eaf34e8de1e4401bafe632526a | 1 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 + ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...12cdc2d476907371ca25080a378f91519e4f661c14 | 1 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 + ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 + ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 + ...2c9bbad5b5b802af2d05672b886846efa8b10610b9 | 1 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 | 1 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...e4424ac4ef8aae3d1ba59540b015077681d4634c41 | 1 + ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...38ad7abaf7deed32734b147bc993fca6d132b0a90d | 1 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 + ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 + ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 + ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 + ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...85012799378a4b201d086c514930c2f37c000c45b4 | 1 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-object-6/fixtures/history.txt | 59 + samples/typed-object-6/receipts.bound | 9 + samples/typed-object-7/TARGET.bound | 119 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 + ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 + ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 + ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 + ...a80d4a34a7c8a4691162fdf584c618736064180e15 | 1 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 | 1 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...e4424ac4ef8aae3d1ba59540b015077681d4634c41 | 1 + ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...38ad7abaf7deed32734b147bc993fca6d132b0a90d | 1 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 + ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 + ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 + ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed-object-7/fixtures/history.txt | 51 + samples/typed-object-7/receipts.bound | 9 + samples/typed/TARGET.bound | 112 + ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 + ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 + ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 + ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 + ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 + ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 + ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 + ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 + ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 + ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 + ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 + ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 + ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 + ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 + ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 + ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 + ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 + ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 + ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 + ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 + ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 + ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 + ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 + ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 + ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 + ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 + ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 + ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 + ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 + ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 + ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 + ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 + ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 + ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 + ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 + ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 + ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 + ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 + ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 + ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 + ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 + ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 + ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 + ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 + ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 + ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 + ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 + ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 + ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 + ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 + ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 + ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 + ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 + ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 + ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 + ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 + ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 + ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 + ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 + ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 + ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 + ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 + ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 + ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 + ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 + ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 + ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 + ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 + ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 + samples/typed/fixtures/history.txt | 51 + samples/typed/receipts.bound | 9 + .../inputs/001-left-conflicting-wire.bound | 25 + .../inputs/002-left-context.bound | 24 + .../inputs/003-right-conflicting-wire.bound | 25 + .../inputs/004-right-context.bound | 24 + .../inputs/005-left-local.bound | 1 + .../inputs/006-right-local.bound | 1 + .../inputs/007-right-inventory.bound | 2 + .../walk-publication/inputs/008-altered.bound | 4 + .../inputs/009-partial-payload.bound | 3 + .../inputs/010-outside-prefix.bound | 4 + .../inputs/011-unauthorized-prefix.bound | 4 + .../inputs/012-stale-base.bound | 4 + .../inputs/013-left-payload.bound | 4 + .../inputs/014-missing-earlier-prefix.bound | 4 + .../015-inserted-at-verified-epoch.bound | 5 + .../inputs/016-right-acknowledged.bound | 3 + .../inputs/017-no-payload.bound | 1 + .../inputs/018-left-inventory.bound | 2 + .../inputs/019-right-payload.bound | 4 + .../inputs/020-next-local.bound | 1 + .../inputs/021-alternate-origin-context.bound | 25 + .../inputs/022-select-alternate.bound | 1 + .../023-undeclared-context-lineage.bound | 4 + .../inputs/024-new-left-local.bound | 1 + .../inputs/025-right-final-inventory.bound | 3 + .../inputs/026-interruption-payload.bound | 5 + .../inputs/027-left-conflicting-wire.bound | 25 + .../inputs/028-left-context.bound | 24 + .../inputs/029-right-conflicting-wire.bound | 25 + .../inputs/030-right-context.bound | 24 + .../inputs/031-left-local.bound | 1 + .../inputs/032-right-local.bound | 1 + .../inputs/033-right-inventory.bound | 2 + .../walk-publication/inputs/034-altered.bound | 4 + .../inputs/035-partial-payload.bound | 3 + .../inputs/036-outside-prefix.bound | 4 + .../inputs/037-unauthorized-prefix.bound | 4 + .../inputs/038-stale-base.bound | 4 + .../inputs/039-left-payload.bound | 4 + .../inputs/040-missing-earlier-prefix.bound | 4 + .../041-inserted-at-verified-epoch.bound | 5 + .../inputs/042-right-acknowledged.bound | 3 + .../inputs/043-no-payload.bound | 1 + .../inputs/044-left-inventory.bound | 2 + .../inputs/045-right-payload.bound | 4 + .../inputs/046-next-local.bound | 1 + .../inputs/047-alternate-origin-context.bound | 25 + .../inputs/048-select-alternate.bound | 1 + .../049-undeclared-context-lineage.bound | 4 + .../inputs/050-new-left-local.bound | 1 + .../inputs/051-right-final-inventory.bound | 3 + .../inputs/052-interruption-payload.bound | 5 + samples/walk-publication/left-1/TARGET.bound | 32 + ...b407cc7c77c5c28b43e49aebf69265f608c42bdfaf | 22 + ...cdcc42910468abc441233bd0f111b7d6518050a7ca | 1 + ...2a476f53228bba1cf6d356554b1e533d0ee83e6793 | 22 + ...38d977ec95b92d30c03e0c6b045628b13a9c3aba68 | 1 + ...225dd9066f545fc932a900c0b620a1a84deb2346c7 | 1 + samples/walk-publication/left-3/TARGET.bound | 32 + ...fabb1a468791c4be2df486dad7259f1df08f4b96bc | 1 + ...85943d4d85a8a941e7cc4a09af891ccc055ed42c8f | 22 + ...890ed6c00c47331132c5757dde1ae662a3f2506b25 | 1 + ...41e81a33564f10043a87f28fa570171413f6bf2b51 | 22 + ...df09fb4a1b1add3190d4463474afcc058be99a9e88 | 1 + samples/walk-publication/right-2/TARGET.bound | 39 + ...c838c291ccd9aba7f68619660ed0ae2bf82542971a | 1 + ...d7a2659dcd26eb1750a12e9e34f9d66719e2621286 | 23 + ...b407cc7c77c5c28b43e49aebf69265f608c42bdfaf | 22 + ...4b51431dccb314443b579221126a1f696e295f80a2 | 1 + ...2a476f53228bba1cf6d356554b1e533d0ee83e6793 | 22 + ...8c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 | 1 + ...45e71e2ef1127a307b78c29d37955079ddc87d044c | 1 + samples/walk-publication/right-4/TARGET.bound | 39 + ...cc9ed03460b92987f433ab1138d9746414815bbc58 | 1 + ...9dd16595c90ce867240036f40937772c573e2d19e2 | 1 + ...85943d4d85a8a941e7cc4a09af891ccc055ed42c8f | 22 + ...41e81a33564f10043a87f28fa570171413f6bf2b51 | 22 + ...84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 | 1 + ...7aab95f02581483b5aad8cfae4c539c29a240ea004 | 1 + ...d5a07f36175d88337d0ac9c467eec7d4559b956ef7 | 23 + src/cli/verb.ts | 39 +- src/fold/keys.ts | 7 +- src/fold/observed.ts | 2 +- src/fold/signers.ts | 7 +- src/host/content-store.ts | 15 + src/host/history-input.ts | 35 + src/host/reading-closures.ts | 15 +- test/fold-target.test.ts | 26 + test/formed-place.test.ts | 33 + test/reading-closures.test.ts | 18 + vectors/archive-conformance.json | 859 +- vectors/attest-evidence.json | 163 - vectors/historical-build.json | 164 - vectors/historical-document-views.json | 3206 ++- vectors/historical-presentation.json | 174 - vectors/native-views.json | 15112 +++++++++++++- vectors/process/cli-case.mjs | 2 +- vectors/program-views.json | 1002 +- vectors/prose-views.json | 155 - vectors/query-views.json | 727 +- vectors/signing-port.json | 2050 +- vectors/typed-object.json | 1570 +- vectors/walk-publication.json | 17399 +++++++++++++++- 1308 files changed, 84473 insertions(+), 1493 deletions(-) create mode 100644 samples/artifacts-changed/TARGET.bound create mode 100644 samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b create mode 100644 samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/artifacts-changed/fixtures/history.txt create mode 100644 samples/artifacts-changed/receipts.bound create mode 100644 samples/artifacts/TARGET.bound create mode 100644 samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b create mode 100644 samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/artifacts/fixtures/history.txt create mode 100644 samples/artifacts/receipts.bound create mode 100644 samples/historical-document-views-1/CITATION.cff create mode 100644 samples/historical-document-views-1/README.md create mode 100644 samples/historical-document-views-1/TARGET.bound create mode 100644 samples/historical-document-views-1/docs/guide.md create mode 100644 samples/historical-document-views-1/docs/reference.md create mode 100644 samples/historical-document-views-1/docs/why.md create mode 100644 samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 create mode 100644 samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd create mode 100644 samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 create mode 100644 samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f create mode 100644 samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 create mode 100644 samples/historical-document-views-1/manifest.json create mode 100644 samples/historical-document-views-1/notes.md create mode 100644 samples/historical-document-views-1/process.yml create mode 100644 samples/historical-document-views-1/receipts.bound create mode 100644 samples/historical-document-views-1/tsconfig.json create mode 100644 samples/historical-document-views-2/CITATION.cff create mode 100644 samples/historical-document-views-2/README.md create mode 100644 samples/historical-document-views-2/TARGET.bound create mode 100644 samples/historical-document-views-2/docs/guide.md create mode 100644 samples/historical-document-views-2/docs/reference.md create mode 100644 samples/historical-document-views-2/docs/why.md create mode 100644 samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 create mode 100644 samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd create mode 100644 samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 create mode 100644 samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd create mode 100644 samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f create mode 100644 samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 create mode 100644 samples/historical-document-views-2/manifest.json create mode 100644 samples/historical-document-views-2/notes.md create mode 100644 samples/historical-document-views-2/process.yml create mode 100644 samples/historical-document-views-2/receipts.bound create mode 100644 samples/historical-document-views-2/tsconfig.json create mode 100644 samples/historical-document-views-3/CITATION.cff create mode 100644 samples/historical-document-views-3/README.md create mode 100644 samples/historical-document-views-3/TARGET.bound create mode 100644 samples/historical-document-views-3/docs/guide.md create mode 100644 samples/historical-document-views-3/docs/reference.md create mode 100644 samples/historical-document-views-3/docs/why.md create mode 100644 samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 create mode 100644 samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd create mode 100644 samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 create mode 100644 samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd create mode 100644 samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f create mode 100644 samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 create mode 100644 samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 create mode 100644 samples/historical-document-views-3/manifest.json create mode 100644 samples/historical-document-views-3/notes.md create mode 100644 samples/historical-document-views-3/process.yml create mode 100644 samples/historical-document-views-3/receipts.bound create mode 100644 samples/historical-document-views-3/tsconfig.json create mode 100644 samples/historical-document-views-4/CITATION.cff create mode 100644 samples/historical-document-views-4/README.md create mode 100644 samples/historical-document-views-4/TARGET.bound create mode 100644 samples/historical-document-views-4/catalogue.json create mode 100644 samples/historical-document-views-4/catalogue.md create mode 100644 samples/historical-document-views-4/catalogue.yml create mode 100644 samples/historical-document-views-4/docs/guide.md create mode 100644 samples/historical-document-views-4/docs/reference.md create mode 100644 samples/historical-document-views-4/docs/why.md create mode 100644 samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 create mode 100644 samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd create mode 100644 samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 create mode 100644 samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f create mode 100644 samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 create mode 100644 samples/historical-document-views-4/receipts.bound create mode 100644 samples/historical-document-views-4/tsconfig.json create mode 100644 samples/historical-document-views-5/CITATION.cff create mode 100644 samples/historical-document-views-5/README.md create mode 100644 samples/historical-document-views-5/TARGET.bound create mode 100644 samples/historical-document-views-5/catalogue.json create mode 100644 samples/historical-document-views-5/catalogue.md create mode 100644 samples/historical-document-views-5/catalogue.yml create mode 100644 samples/historical-document-views-5/docs/guide.md create mode 100644 samples/historical-document-views-5/docs/reference.md create mode 100644 samples/historical-document-views-5/docs/why.md create mode 100644 samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 create mode 100644 samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd create mode 100644 samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 create mode 100644 samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f create mode 100644 samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 create mode 100644 samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 create mode 100644 samples/historical-document-views-5/receipts.bound create mode 100644 samples/historical-document-views-5/tsconfig.json create mode 100644 samples/historical-document-views-6/CITATION.cff create mode 100644 samples/historical-document-views-6/README.md create mode 100644 samples/historical-document-views-6/TARGET.bound create mode 100644 samples/historical-document-views-6/catalogue.json create mode 100644 samples/historical-document-views-6/catalogue.md create mode 100644 samples/historical-document-views-6/catalogue.yml create mode 100644 samples/historical-document-views-6/docs/guide.md create mode 100644 samples/historical-document-views-6/docs/reference.md create mode 100644 samples/historical-document-views-6/docs/why.md create mode 100644 samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 create mode 100644 samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c create mode 100644 samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd create mode 100644 samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 create mode 100644 samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f create mode 100644 samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 create mode 100644 samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 create mode 100644 samples/historical-document-views-6/receipts.bound create mode 100644 samples/historical-document-views-6/tsconfig.json create mode 100644 samples/native-views/inputs/001-north.proposal create mode 100644 samples/native-views/inputs/002-north.proposal create mode 100644 samples/native-views/inputs/003-south.proposal create mode 100644 samples/native-views/inputs/004-south.proposal create mode 100644 samples/native-views/inputs/005-alias.proposal create mode 100644 samples/native-views/inputs/006-alias.proposal create mode 100644 samples/native-views/inputs/007-uncovered.proposal create mode 100644 samples/native-views/inputs/008-altered.bound create mode 100644 samples/native-views/inputs/009-withdraw.proposal create mode 100644 samples/native-views/inputs/010-north.proposal create mode 100644 samples/native-views/inputs/011-north.proposal create mode 100644 samples/native-views/inputs/012-south.proposal create mode 100644 samples/native-views/inputs/013-south.proposal create mode 100644 samples/native-views/inputs/014-alias.proposal create mode 100644 samples/native-views/inputs/015-alias.proposal create mode 100644 samples/native-views/inputs/016-native-receipt.proposal create mode 100644 samples/native-views/inputs/016-uncovered.proposal create mode 100644 samples/native-views/inputs/017-altered.bound create mode 100644 samples/native-views/inputs/017-native-receipt.proposal create mode 100644 samples/native-views/inputs/018-uncovered.proposal create mode 100644 samples/native-views/inputs/018-withdraw.proposal create mode 100644 samples/native-views/inputs/019-altered.bound create mode 100644 samples/native-views/inputs/019-north.proposal create mode 100644 samples/native-views/inputs/020-north.proposal create mode 100644 samples/native-views/inputs/020-withdraw.proposal create mode 100644 samples/native-views/inputs/021-south.proposal create mode 100644 samples/native-views/inputs/022-south.proposal create mode 100644 samples/native-views/inputs/023-alias.proposal create mode 100644 samples/native-views/inputs/024-alias.proposal create mode 100644 samples/native-views/inputs/025-uncovered.proposal create mode 100644 samples/native-views/inputs/026-altered.bound create mode 100644 samples/native-views/inputs/027-withdraw.proposal create mode 100644 samples/native-views/inputs/028-north.proposal create mode 100644 samples/native-views/inputs/029-north.proposal create mode 100644 samples/native-views/inputs/030-south.proposal create mode 100644 samples/native-views/inputs/031-south.proposal create mode 100644 samples/native-views/inputs/032-alias.proposal create mode 100644 samples/native-views/inputs/033-alias.proposal create mode 100644 samples/native-views/inputs/034-native-receipt.proposal create mode 100644 samples/native-views/inputs/035-native-receipt.proposal create mode 100644 samples/native-views/inputs/036-uncovered.proposal create mode 100644 samples/native-views/inputs/037-altered.bound create mode 100644 samples/native-views/inputs/038-withdraw.proposal create mode 100644 samples/native-views/place-1/TARGET.bound create mode 100644 samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 create mode 100644 samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 create mode 100644 samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 create mode 100644 samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb create mode 100644 samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 create mode 100644 samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 create mode 100644 samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 create mode 100644 samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d create mode 100644 samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 create mode 100644 samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 create mode 100644 samples/native-views/place-1/receipts.bound create mode 100644 samples/native-views/place-2/TARGET.bound create mode 100644 samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 create mode 100644 samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac create mode 100644 samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab create mode 100644 samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 create mode 100644 samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 create mode 100644 samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c create mode 100644 samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d create mode 100644 samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 create mode 100644 samples/native-views/place-2/receipts.bound create mode 100644 samples/native-views/place-3/TARGET.bound create mode 100644 samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d create mode 100644 samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 create mode 100644 samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 create mode 100644 samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 create mode 100644 samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 create mode 100644 samples/native-views/place-3/receipts.bound create mode 100644 samples/native-views/place-4/TARGET.bound create mode 100644 samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 create mode 100644 samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 create mode 100644 samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 create mode 100644 samples/native-views/place-4/receipts.bound create mode 100644 samples/native-views/place/TARGET.bound create mode 100644 samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 create mode 100644 samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a create mode 100644 samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 create mode 100644 samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b create mode 100644 samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 create mode 100644 samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 create mode 100644 samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 create mode 100644 samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 create mode 100644 samples/program-views-1/TARGET.bound create mode 100644 samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b create mode 100644 samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 create mode 100644 samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc create mode 100644 samples/program-views-1/receipts.bound create mode 100644 samples/program-views-2/TARGET.bound create mode 100644 samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b create mode 100644 samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca create mode 100644 samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc create mode 100644 samples/program-views-2/receipts.bound create mode 100644 samples/program-views-3/TARGET.bound create mode 100644 samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b create mode 100644 samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c create mode 100644 samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc create mode 100644 samples/program-views-3/receipts.bound create mode 100644 samples/program-views-4/TARGET.bound create mode 100644 samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b create mode 100644 samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc create mode 100644 samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f create mode 100644 samples/program-views-4/receipts.bound create mode 100644 samples/query-views-1/TARGET.bound create mode 100644 samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8 create mode 100644 samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1 create mode 100644 samples/query-views-1/receipts.bound create mode 100644 samples/query-views-1/source.txt create mode 100644 samples/query-views-2/TARGET.bound create mode 100644 samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8 create mode 100644 samples/query-views-2/receipts.bound create mode 100644 samples/query-views-2/release.txt create mode 100644 samples/signing-port/absent-3/TARGET.bound create mode 100644 samples/signing-port/command-2/TARGET.bound create mode 100644 samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15 create mode 100644 samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5 create mode 100644 samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746 create mode 100644 samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025 create mode 100644 samples/signing-port/file-1/TARGET.bound create mode 100644 samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692 create mode 100644 samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7 create mode 100644 samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630 create mode 100644 samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf create mode 100644 samples/signing-port/inputs/001-lot.proposal create mode 100644 samples/signing-port/inputs/002-signed.proposal create mode 100644 samples/signing-port/inputs/003-lot.proposal create mode 100644 samples/signing-port/inputs/004-invalid.proposal create mode 100644 samples/signing-port/inputs/file-signature.proposal create mode 100644 samples/typed-changed/TARGET.bound create mode 100644 samples/typed-changed/artifacts.json create mode 100644 samples/typed-changed/artifacts.vector.json create mode 100644 samples/typed-changed/contract.json create mode 100644 samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-changed/fixtures/history.txt create mode 100644 samples/typed-changed/no.json create mode 100644 samples/typed-changed/range.vector.json create mode 100644 samples/typed-changed/receipts.bound create mode 100644 samples/typed-changed/wire.json create mode 100644 samples/typed-changed/yes.json create mode 100644 samples/typed-object-1/TARGET.bound create mode 100644 samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d create mode 100644 samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 create mode 100644 samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 create mode 100644 samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae create mode 100644 samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 create mode 100644 samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 create mode 100644 samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 create mode 100644 samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-object-1/fixtures/history.txt create mode 100644 samples/typed-object-1/receipts.bound create mode 100644 samples/typed-object-2/TARGET.bound create mode 100644 samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b create mode 100644 samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf create mode 100644 samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d create mode 100644 samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 create mode 100644 samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 create mode 100644 samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 create mode 100644 samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 create mode 100644 samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 create mode 100644 samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae create mode 100644 samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 create mode 100644 samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 create mode 100644 samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 create mode 100644 samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 create mode 100644 samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e create mode 100644 samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 create mode 100644 samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-object-2/fixtures/history.txt create mode 100644 samples/typed-object-2/receipts.bound create mode 100644 samples/typed-object-3/TARGET.bound create mode 100644 samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 create mode 100644 samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b create mode 100644 samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf create mode 100644 samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d create mode 100644 samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 create mode 100644 samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 create mode 100644 samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 create mode 100644 samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 create mode 100644 samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 create mode 100644 samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 create mode 100644 samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae create mode 100644 samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 create mode 100644 samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 create mode 100644 samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 create mode 100644 samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 create mode 100644 samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 create mode 100644 samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e create mode 100644 samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 create mode 100644 samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c create mode 100644 samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-object-3/fixtures/history.txt create mode 100644 samples/typed-object-3/receipts.bound create mode 100644 samples/typed-object-4/TARGET.bound create mode 100644 samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 create mode 100644 samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b create mode 100644 samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf create mode 100644 samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d create mode 100644 samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 create mode 100644 samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 create mode 100644 samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 create mode 100644 samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 create mode 100644 samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 create mode 100644 samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 create mode 100644 samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 create mode 100644 samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 create mode 100644 samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae create mode 100644 samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 create mode 100644 samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 create mode 100644 samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 create mode 100644 samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 create mode 100644 samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 create mode 100644 samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 create mode 100644 samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 create mode 100644 samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e create mode 100644 samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 create mode 100644 samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 create mode 100644 samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c create mode 100644 samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-object-4/fixtures/history.txt create mode 100644 samples/typed-object-4/receipts.bound create mode 100644 samples/typed-object-5/TARGET.bound create mode 100644 samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 create mode 100644 samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a create mode 100644 samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b create mode 100644 samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf create mode 100644 samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d create mode 100644 samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 create mode 100644 samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 create mode 100644 samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 create mode 100644 samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 create mode 100644 samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 create mode 100644 samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 create mode 100644 samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 create mode 100644 samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 create mode 100644 samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 create mode 100644 samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae create mode 100644 samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d create mode 100644 samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 create mode 100644 samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 create mode 100644 samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 create mode 100644 samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 create mode 100644 samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 create mode 100644 samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 create mode 100644 samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 create mode 100644 samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e create mode 100644 samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 create mode 100644 samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 create mode 100644 samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c create mode 100644 samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-object-5/fixtures/history.txt create mode 100644 samples/typed-object-5/receipts.bound create mode 100644 samples/typed-object-6/TARGET.bound create mode 100644 samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 create mode 100644 samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a create mode 100644 samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b create mode 100644 samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf create mode 100644 samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d create mode 100644 samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 create mode 100644 samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 create mode 100644 samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 create mode 100644 samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 create mode 100644 samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 create mode 100644 samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 create mode 100644 samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 create mode 100644 samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 create mode 100644 samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 create mode 100644 samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 create mode 100644 samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae create mode 100644 samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d create mode 100644 samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 create mode 100644 samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 create mode 100644 samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 create mode 100644 samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 create mode 100644 samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 create mode 100644 samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 create mode 100644 samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 create mode 100644 samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e create mode 100644 samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 create mode 100644 samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 create mode 100644 samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c create mode 100644 samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 create mode 100644 samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-object-6/fixtures/history.txt create mode 100644 samples/typed-object-6/receipts.bound create mode 100644 samples/typed-object-7/TARGET.bound create mode 100644 samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b create mode 100644 samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf create mode 100644 samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d create mode 100644 samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 create mode 100644 samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 create mode 100644 samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 create mode 100644 samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 create mode 100644 samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 create mode 100644 samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 create mode 100644 samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 create mode 100644 samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 create mode 100644 samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae create mode 100644 samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d create mode 100644 samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 create mode 100644 samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 create mode 100644 samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 create mode 100644 samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 create mode 100644 samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 create mode 100644 samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 create mode 100644 samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e create mode 100644 samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 create mode 100644 samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 create mode 100644 samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed-object-7/fixtures/history.txt create mode 100644 samples/typed-object-7/receipts.bound create mode 100644 samples/typed/TARGET.bound create mode 100644 samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 create mode 100644 samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 create mode 100644 samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 create mode 100644 samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 create mode 100644 samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 create mode 100644 samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c create mode 100644 samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 create mode 100644 samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 create mode 100644 samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b create mode 100644 samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 create mode 100644 samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 create mode 100644 samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c create mode 100644 samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 create mode 100644 samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 create mode 100644 samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff create mode 100644 samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 create mode 100644 samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 create mode 100644 samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f create mode 100644 samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 create mode 100644 samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 create mode 100644 samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 create mode 100644 samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea create mode 100644 samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c create mode 100644 samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e create mode 100644 samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 create mode 100644 samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e create mode 100644 samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e create mode 100644 samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab create mode 100644 samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 create mode 100644 samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 create mode 100644 samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 create mode 100644 samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 create mode 100644 samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 create mode 100644 samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a create mode 100644 samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e create mode 100644 samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 create mode 100644 samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 create mode 100644 samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 create mode 100644 samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c create mode 100644 samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 create mode 100644 samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d create mode 100644 samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c create mode 100644 samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 create mode 100644 samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c create mode 100644 samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 create mode 100644 samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d create mode 100644 samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 create mode 100644 samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 create mode 100644 samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 create mode 100644 samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 create mode 100644 samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 create mode 100644 samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d create mode 100644 samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf create mode 100644 samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 create mode 100644 samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 create mode 100644 samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 create mode 100644 samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a create mode 100644 samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 create mode 100644 samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 create mode 100644 samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a create mode 100644 samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 create mode 100644 samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca create mode 100644 samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c create mode 100644 samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 create mode 100644 samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 create mode 100644 samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd create mode 100644 samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d create mode 100644 samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 create mode 100644 samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 create mode 100644 samples/typed/fixtures/history.txt create mode 100644 samples/typed/receipts.bound create mode 100644 samples/walk-publication/inputs/001-left-conflicting-wire.bound create mode 100644 samples/walk-publication/inputs/002-left-context.bound create mode 100644 samples/walk-publication/inputs/003-right-conflicting-wire.bound create mode 100644 samples/walk-publication/inputs/004-right-context.bound create mode 100644 samples/walk-publication/inputs/005-left-local.bound create mode 100644 samples/walk-publication/inputs/006-right-local.bound create mode 100644 samples/walk-publication/inputs/007-right-inventory.bound create mode 100644 samples/walk-publication/inputs/008-altered.bound create mode 100644 samples/walk-publication/inputs/009-partial-payload.bound create mode 100644 samples/walk-publication/inputs/010-outside-prefix.bound create mode 100644 samples/walk-publication/inputs/011-unauthorized-prefix.bound create mode 100644 samples/walk-publication/inputs/012-stale-base.bound create mode 100644 samples/walk-publication/inputs/013-left-payload.bound create mode 100644 samples/walk-publication/inputs/014-missing-earlier-prefix.bound create mode 100644 samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound create mode 100644 samples/walk-publication/inputs/016-right-acknowledged.bound create mode 100644 samples/walk-publication/inputs/017-no-payload.bound create mode 100644 samples/walk-publication/inputs/018-left-inventory.bound create mode 100644 samples/walk-publication/inputs/019-right-payload.bound create mode 100644 samples/walk-publication/inputs/020-next-local.bound create mode 100644 samples/walk-publication/inputs/021-alternate-origin-context.bound create mode 100644 samples/walk-publication/inputs/022-select-alternate.bound create mode 100644 samples/walk-publication/inputs/023-undeclared-context-lineage.bound create mode 100644 samples/walk-publication/inputs/024-new-left-local.bound create mode 100644 samples/walk-publication/inputs/025-right-final-inventory.bound create mode 100644 samples/walk-publication/inputs/026-interruption-payload.bound create mode 100644 samples/walk-publication/inputs/027-left-conflicting-wire.bound create mode 100644 samples/walk-publication/inputs/028-left-context.bound create mode 100644 samples/walk-publication/inputs/029-right-conflicting-wire.bound create mode 100644 samples/walk-publication/inputs/030-right-context.bound create mode 100644 samples/walk-publication/inputs/031-left-local.bound create mode 100644 samples/walk-publication/inputs/032-right-local.bound create mode 100644 samples/walk-publication/inputs/033-right-inventory.bound create mode 100644 samples/walk-publication/inputs/034-altered.bound create mode 100644 samples/walk-publication/inputs/035-partial-payload.bound create mode 100644 samples/walk-publication/inputs/036-outside-prefix.bound create mode 100644 samples/walk-publication/inputs/037-unauthorized-prefix.bound create mode 100644 samples/walk-publication/inputs/038-stale-base.bound create mode 100644 samples/walk-publication/inputs/039-left-payload.bound create mode 100644 samples/walk-publication/inputs/040-missing-earlier-prefix.bound create mode 100644 samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound create mode 100644 samples/walk-publication/inputs/042-right-acknowledged.bound create mode 100644 samples/walk-publication/inputs/043-no-payload.bound create mode 100644 samples/walk-publication/inputs/044-left-inventory.bound create mode 100644 samples/walk-publication/inputs/045-right-payload.bound create mode 100644 samples/walk-publication/inputs/046-next-local.bound create mode 100644 samples/walk-publication/inputs/047-alternate-origin-context.bound create mode 100644 samples/walk-publication/inputs/048-select-alternate.bound create mode 100644 samples/walk-publication/inputs/049-undeclared-context-lineage.bound create mode 100644 samples/walk-publication/inputs/050-new-left-local.bound create mode 100644 samples/walk-publication/inputs/051-right-final-inventory.bound create mode 100644 samples/walk-publication/inputs/052-interruption-payload.bound create mode 100644 samples/walk-publication/left-1/TARGET.bound create mode 100644 samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf create mode 100644 samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca create mode 100644 samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 create mode 100644 samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 create mode 100644 samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 create mode 100644 samples/walk-publication/left-3/TARGET.bound create mode 100644 samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc create mode 100644 samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f create mode 100644 samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 create mode 100644 samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 create mode 100644 samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 create mode 100644 samples/walk-publication/right-2/TARGET.bound create mode 100644 samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a create mode 100644 samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 create mode 100644 samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf create mode 100644 samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 create mode 100644 samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 create mode 100644 samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 create mode 100644 samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c create mode 100644 samples/walk-publication/right-4/TARGET.bound create mode 100644 samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 create mode 100644 samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 create mode 100644 samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f create mode 100644 samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 create mode 100644 samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 create mode 100644 samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 create mode 100644 samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 create mode 100644 src/host/history-input.ts create mode 100644 test/fold-target.test.ts create mode 100644 test/formed-place.test.ts delete mode 100644 vectors/attest-evidence.json delete mode 100644 vectors/historical-build.json delete mode 100644 vectors/historical-presentation.json delete mode 100644 vectors/prose-views.json diff --git a/README.md b/README.md index 5585d31..50adba3 100644 --- a/README.md +++ b/README.md @@ -27,14 +27,13 @@ Use this flow to review a project change or check a dependency's declared contra For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. -Run the executable example with the installed CLI: +After cloning this repository, fold the example place with the instrument: ```sh -npm install @lapxo/bound@0.1.5 -node node_modules/@lapxo/bound/tools/samples/run-typed.mjs +npx @lapxo/bound@0.1.5 samples/typed ``` -The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). +The folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. diff --git a/TARGET.bound b/TARGET.bound index d7a6f7e..73984d7 100644 --- a/TARGET.bound +++ b/TARGET.bound @@ -1,14 +1,14 @@ -bound-lock/1 about="# @lapxo/bound\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock -bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary.\n\nRun `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins.\n\nThe no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped.\n" at=witness:publication-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock +bound-lock/1 about="# @lapxo/bound\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nAfter cloning this repository, fold the example place with the instrument:\n\n```sh\nnpx @lapxo/bound@0.1.5 samples/typed\n```\n\nThe folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:formed-native-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock +bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of the place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence grants neither normative authority nor independent observation origins. Existing Topos authority and coverage remain the admission boundary.\n\nA sample is a place: fold its declared evidence view with the instrument. The native-view vector invokes only Bound: bootstrap with an external host signer, sign and land evidence, inspect help, lines and native receipts, inspect authenticated evidence, and redeliver retained signed bytes. No private key, registry or validation executor is shipped. The vector names its external signer parameters explicitly; absence cannot be replaced by a fabricated signature.\n\nThe rejected sample contains an uncovered write and altered signed bytes. Both refuse by name. Withdrawals remove only covered normative lines; authenticated delivery remains inspectable. Aliases of one key grant no independence. Native receipt fixture bytes are retained output from the instrument, not observations written by a test.\n" at=witness:native-evidence-sample by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock bound-lock/1 about="# Contributing to Bound\n\nBring a counterexample, an observation or a proposed lot. Include the inputs and the output that led you to it. A signature establishes who was authorized to speak; it does not make their result true.\n\n## Set up a working copy\n\nClone the repository and use the Node version supported by package.json. If package-lock.json is present, run npm ci; otherwise use npm install --ignore-scripts --no-package-lock. Then run:\n\n```sh\nnpm run build\nnpm test\n```\n\nThese are development checks, not project acceptance. For a place with admitted trust context and native receipts, run the product judgement as well:\n\n```sh\nnpx @lapxo/bound@0.1.0 fold --check\n```\n\nPreserve a refusal and its exit status in your report. Do not borrow a neighbouring checkout's ledger or substitute local bytes for a named pin.\n\n## Make the smallest useful change\n\nBound owns admission, folding and evidence. Topos owns grammar, forms, classes, views and their contracts. A selected topos owns domain measurement. Obligations owns the algebra. Keep each change in its layer; do not put a domain decoder, path-based inference or a fallback for a missing pin into Bound.\n\nAn algebra change needs an independent oracle and a counterexample. A host change needs evidence for authentic bytes, failure propagation or reuse. A view change needs its declared region and implementation identity. A test should fail for a plausible incorrect implementation, not assert a source string or repeat the same expression on both sides.\n\nKeep regressions for changed signatures, unauthorized coverage, exact-id withdrawal, conflicting evidence, local versus travelling acts, corrupt content and duplicate delivery. Consolidate repeated setup and duplicate scenarios without removing distinct falsifiers.\n\n## Propose and admit\n\nKeep proposal and signed-lot files outside the repository. Use the current admitted wire, by=target, and no preassigned epoch or signature. The team's admitted key signs the lot; Bound admits it under scope coverage. The [usage guide](docs/usage.md) explains the transaction and external key-file requirements.\n\nSend the proposed lines with the leaf changes they render. A hand-edited render is evidence of the intended change, not an admitted contribution. Do not edit the accepted TARGET to make a test or ceiling pass. If a render disagrees with the lock, fix the proposed lines and re-render it.\n\nCommit only the project's TARGET.bound and native receipts.bound as bound files. The first .gitignore line excludes .bound/. Do not commit keys, stores, ledgers, caches, capsules, archives or vendored dependencies.\n\n## Submit a pull request\n\nExplain the concrete behavior before and after the change, the affected layer, and the checks you ran. Include stdout, stderr and exit status for a CLI case. State which reader and input bytes produced the evidence; a source harness is not an installed-package proof.\n\nPolicy changes receive explicit team review separately from measurements of the proposed source. Keep incompatible readings and their origins visible. Never remove a failing test or weaken a ceiling to obtain acceptance. Withdraw statements through their admitted history; do not rewrite prior signatures, tags or releases.\n\nDocumentation and workflows follow the same review: propose their lines and include the rendered changes.\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-1 shape=CONTRIBUTING.md value=lock -bound-lock/1 about="# Exact release artifact\n\nPacking is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes.\n\nThe archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed.\n\nThe samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan.\n\nThis is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions.\n\nRendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-archive shape=docs/contracts/archive.md value=lock +bound-lock/1 about="# Exact release artifact\n\nAn archive digest names its exact bytes. It is distinct from a Topos standing identity. The pipeline produces one archive for the registry and forge; it does not pack a second file and assume equality.\n\nThe public conformance vector uses only the installed instrument. Two unrelated formed places resolve their named standing and artifacts, then print their cells. A changed artifact with the retained digest refuses before execution. This proves the host materialization boundary; it does not claim that file presence is an installed-release receipt.\n\nAcceptance of the candidate additionally requires its exact member list, archive hash, clean installation and product captures from that archive, without source conditions or a checkout ledger. Changed implementation bytes require a new candidate capture. Packing, installing and publishing are host acts; the vector does not authenticate to a registry or publish. The owner approves that exact archive after verification.\n" at=witness:native-artifact-sample by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-archive shape=docs/contracts/archive.md value=lock bound-lock/1 about="# Explanation — historical profile\n\nThe declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose.\n\n# README — historical profile\n\nThe declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid.\n\n# Citation file — historical profile\n\nThe declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract.\n\n# Guide — historical profile\n\nThe declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound.\n\n# Reference — historical profile\n\nThe declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid.\n\n# Manifest render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package.\n\n# Workflow render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate.\n\n# Usage render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors.\n\n# Build configuration — historical profile\n\nThe declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-documents shape=docs/contracts/documents.md value=lock bound-lock/1 about="# Help view\n\nA declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider.\n\n# Lines view\n\nA declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading.\n\n# Receipts view\n\nThe native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n\n# Why a coordinate\n\n`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing.\n\n# Declared programs\n\nThe programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed.\n\n# Demand card\n\nThe declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-views shape=docs/contracts/views.md value=lock bound-lock/1 about="# Published contracts\n\nEvery public surface names its contract, accepted sample, captured executable vector and rejected sample. Missing members, differing artifact digests and failed vectors remain unpaid. Publication conformance is distinct from installed-artifact acceptance.\n\nThe selected Topos projects each quartet as a reading through the existing wire. Execution proofs are dependency readings; identical vector bytes share one proof. Each reading names its exact handed inputs and dependent receipt digests. Bound verifies those closures and keeps native count/bytes receipts by digest. A closed reading costs no new execution. The publication aggregate reads the quartet receipts; it never starts an inventory batch.\n\nExecution slots, per-execution timeout and response bytes are declared resource lines in the selected Topos. Bounds remain unchanged. A failed reading is not cached as a successful proof. Earlier completed readings stay verified, so a later refusal does not force them to execute again. Changed, missing or corrupt bytes cannot reuse their receipts. Output and execution history retain their exact coordinates.\n\n## Act cost\n\nEach declared reading and each host invocation is measured separately. The total duration of a pass is a diagnostic; it is not the cost of one indivisible act. The cost/act ceiling reads the largest measured act or the remaining unpartitioned host work. Nested invocations are not charged twice. A slow or refused act retains its cost. Native reading receipts retain measured seconds separately from semantic identity; reusing a receipt performs no new reader execution. Missing historical durations are not invented as zero.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n" at=witness:public-receipts-verify-without-private-store by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-contract shape=docs/contracts/publication.md value=lock bound-lock/1 about="# Using Bound\n\nThis guide covers the current CLI in a place whose wire and authority are already admitted. A fresh unsigned TARGET is a proposal, not a trusted project. The prepared repository is not yet a certified empty-clone bootstrap.\n\n## Before the first fold\n\nYou need the team's accepted TARGET and trust context, authentic bytes for each selected digest, and the readers/views that TARGET names. Do not borrow a neighbouring repository's ledger or copy node_modules to make a missing pin look available.\n\nThe published repository carries exactly TARGET.bound and receipts.bound as bound files. Local admission history lives in the ignored .bound/ store. Published standing excludes the signature envelope; owner public keys retain their signatures.\n\nStart by asking for help and folding the project. If a selected view is unavailable, use the named refusal and its fix; do not invent an output with a similar name.\n\n## Keys and coverage\n\nUse a named key already admitted by the project. The authority contract declares its public key, class and scope coverage. Signing uses a declared port. The lock names `keys/ measure=signer value=`; `signer/timeout` and `signer/response-bytes` bound each invocation. The built-in `file` port reads a matching PKCS8 PEM outside the repository through `--key-file`. For a command port, the host supplies a `BOUND_SIGNERS` registry mapping that admitted name to `{ \"kind\": \"command\", \"executable\": \"...\", \"args\": [] }`. A repository declaration cannot authorize a program. `--signer ` must match the admitted selection.\n\nA new device must have its public key and coverage admitted by an authority that already covers the intended scope. The CLI does not currently certify silent key creation or tap-to-sign. This guide does not substitute a self-authorized fixture key for the team's authority.\n\nFor automation through the file port, supply the private key through the runner's secret storage to a temporary external file with restricted permissions. A command signer receives the lot once as canonical signed bytes, one line per record in order. It returns one canonical wire response per record, containing `by` and `sig`, in that same order. Bound verifies the entire reply against the admitted public key before any admission. Timeout, nonzero exit, missing or invalid replies refuse the whole lot; raw signer output is not logged. Hosts can keep private keys outside Bound through this port. Key generation, storage and rotation belong to the host. Do not print, commit or upload it. A source-control token and a Bound authority key have different purposes. Key rotation and revocation are changes to the admitted authority contract, not edits that erase prior signatures.\n\n## Proposal → signature → admission → reading\n\nPrepare the proposed lines outside the repository. Each line must use the current wire's fields, forms and required set. Configuration retains its legacy required fields, including `at`. Typed cells, claims and marks use their exact row grammar; `role=reads` or `at` cannot repair an incomplete typed record.\n\nA proposal names `by=target` and omits epoch/signature. The CLI assigns epoch from admitted history when signing. Never copy an epoch from an example or change a signed line's body.\n\nUse the signing and admission transaction in the README. Shell `&&` prevents a failed sign from being followed by land. Successful signing alone does not mean admission. Successful admission alone does not mean every requirement is paid. Fold after land and inspect its states, receipts and exit status.\n\nCLI sign authenticates wire inscriptions. It is different from the object's travelling ceiling sign. The selected Topos decodes spans and supplies origin/witness context; Bound must not guess those from by, widens or a path.\n\n## Reading and withdrawing\n\nAsk only for a view admitted by the project, such as cells. A local join widens that cell with a witness; it leaves the travelling ceiling live. A travelling require supplies a floor. Claims carry distinct origins; their signatures do not by themselves establish independent origins.\n\nFor typed histories, a negative record names the exact id in takes. Withdrawing a claim removes that live observation; withdrawing a join removes that local widening, not the sign. A fresh claim with the same content is a new identity, not resurrection of a withdrawn id. Re-delivery of the same signed bytes is idempotent.\n\nFor configuration, the negative line preserves the exact non-envelope selectors and changes value to withdraw. Do not withdraw and replace identical selectors in the same batch. Use a new epoch when superseding an alphabet declaration. Never withdraw evidence merely to obtain a green verdict.\n\n## Receipts and refusals\n\nreceipts.bound is native fold output. Do not write it by hand, use JSON from a test as a receipt, or copy receipts from another tree. Unchanged inputs can reuse verified region receipts; missing bytes require recomputation or a refusal. A duplicate receipt does not create another origin.\n\nREFUSE·wire means the current grammar does not admit the record. REFUSE·pin/release means named authentic content or its closure is unavailable or does not match. REFUSE·view means the requested view cannot be rendered under its contract. Authority refusal means the signer is not covered. Keep the line and the failed exit status; follow an explicit fix without changing the named digest or dropping a conflicting statement.\n\nrelease/blocks is policy read by the fold. Its admitted category links select existing obligations. The fold prints each missing reading or crossed ceiling as BLOCK; a blocked or incomplete policy is not READY. Read the captured verdict for the exact candidate instead of inferring acceptance from a successful render.\n\n## Repository and PR review\n\nThe accepted TARGET is independent of a contributor's scan. Commit native receipts and admitted renders, not local .bound/ state. A page disagreeing with TARGET must be re-rendered; a ceiling is not lowered to fit the page.\n\nA contribution is a proposed lot with the leaf changes rendered from it. Send that lot for admission by the team's coverage. Do not submit hand-edited lock output as already accepted. Check secrets, extra bound files, foreign vendoring and uncaptured page claims before review.\n\nA review includes the product fold, meaningful suites and verification of the rendered bytes. Preserve their actual output and exit status.\n\n## Declaring a demand\n\nA new demand records what remains to be proved. Admission does not create conformance evidence or pay it. An OWED line after land says the declaration was admitted and remains unpaid. Signing authority and conformance evidence are separate inputs.\n\nThe selected program projection reads declared requirements and handed evidence. Missing evidence stays unread; a missing elapsed-time reading is not zero. A dependency cannot close before its requirements and predecessors. Declaring a plan never certifies a release.\n" at=witness:declared-demand-close by=target form=alphabet measure=text role=writes scope=prose/en/files/public-2 shape=docs/usage.md value=lock bound-lock/1 about="# Walk\n\n`bound fold --as walk@` compares the admitted place with an authenticated peer inventory. Resolution is interpreted by the declared Topos selection and projection contract; it is not restricted to three fixed numbers. The wire declares region membership, context, origin and cuts. The output names touched regions, open regions and payload bytes; protocol and imported bytes carry their own units.\n\nForeign history retains its signed origin epoch. Sender keys authenticate that history and never grant coverage or independent origins in the receiver. Whole-region prefixes are verified before ingress. Import and the receiver-signed local receipt commit atomically; only that receipt advances the receiver's local epoch. Foreign withdrawals are confined to the same authenticated origin and exact identifier. A repeated valid delivery adds no lines and retains its existing import receipt. A rejected or interrupted ingress adds neither evidence nor a receipt.\n\nThe published sample uses the same compiled public reader on measurement and artifact places. It compares equal summaries, opens a differing region, exchanges at intermediate declared resolutions, converges by union, retains disagreement and verifies replay after a later local act. It rejects tampered payloads, missing records, unauthorized signatures, non-prefix epochs and undeclared context changes. It interrupts a real receiver signer and verifies unchanged ingress and local history. Dead-owner recovery is a separate host action; this view does not silently recover it. The typed object's origin-local claims and withdrawals are a separate conformance vector, not inferred from configuration counts.\n" at=witness:publish-native-walk-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/view-walk shape=docs/contracts/view-walk.md value=lock bound-lock/1 about="# fold\n\n`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately.\n\n# land\n\n`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot.\n\n# sign\n\n`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-cli shape=docs/contracts/cli.md value=lock -bound-lock/1 about="## Typed cell, claim and mark records\n\nThe object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile.\n\n`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope.\n\nThe common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission.\n\n| Row | Fields in addition to the common envelope | Meaning |\n| --- | --- | --- |\n| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. |\n| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. |\n| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. |\n| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. |\n| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. |\n| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. |\n| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. |\n\nEach row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin.\n\nFor a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested.\n\nThe cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred.\n\n`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification.\n\nAfter admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters.\n\nThe shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place.\n\n## Running the published place\n\nRun `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied.\n\nThe accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form.\n" at=witness:shipped-reference-paths by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock +bound-lock/1 about="## Typed cell, claim and mark records\n\nThe typed profile is selected by admitted wire/object/* declarations in Topos. A cell names its selected form, parameter bytes, topos standing and declared restsOn coordinates. Positive ceilings travel; a witnessed join is local; positive floors travel. Claims carry independently admitted origin evidence. Bound projects the admitted history into Obligations and prints its four states; configuration readings do not compute those encounters.\n\nEach sample is a place with TARGET.bound, native receipts.bound and fixture data whose hashes the lock names. After a clone, run `npx @lapxo/bound@0.1.5 samples/typed`; `samples/artifacts` demonstrates another form through the same path. No sample runner or private key is required. The native vector folds the signed histories for compatible claims, both CONFLICT causes, FORBIDDEN, exact withdrawals and reuse, and refuses floor/local. It compares the CELL lines with the directly constructed Obligations scene.\n\nA history artifact digest closes its exact bytes; it is not the identity of the place. Digest-only place selection waits for a semantic projection that preserves effective act order while excluding delivery envelopes. No archive or generic standing encoder is substituted for that contract.\n" at=witness:formed-native-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock bound-lock/1 about=", & " at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cite/and value=lock bound-lock/1 about="\nOne history, several viewsIllustrative spatial view of B, C, G and independent D. C rests on B and G rests on C. B's travelling ceiling is 0 to 50 and travelling floor 40 to 100. Its local join widens only B to 0 to 100. Region receipts retain selected topos and implementation identity. Background points are decorative, not additional measured cells.\n\n\n\n\n\n\n\n\n\nTHE ALGEBRA IN 60 SECONDS\nOne history. Several views.\nA cell keeps its readings. A connection carries only what travels.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTravelling bounds\nceiling 0..50floor 40..100\nB → C → G\n\nLocal join\nB widens to 0..100\nThe travelling sign stays live.\n\n\nB\nC\nG\nD\nceiling 0..50\nceiling 0..50\nIndependent cell\nD declares no rest on B.\nRegion: the cells selected by a view\n\nSelected topos\nForms and views · pinned folded standing\nReceipts at resolution 1\nSemantic inputs + selected implementation\nIllustrative layout · connections denote declared rest · position and size do not measure importance\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-3 shape=docs/readme-assets/atlas.svg value=lock bound-lock/1 about="A REFUSE prints its line and stops. Nothing after it is a fact." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/a-refuse-plants.json|samples/no/a-refuse-plants.json role=demands scope=law/a-refuse-plants value=present @@ -25,7 +25,7 @@ bound-lock/1 about="A sequence of declared readings is not an indivisible act. P bound-lock/1 about="Algebraic vacuity, absence of observations and lack of recent activity are separate facts. A view may expose inactivity over an admitted window, but cannot rename it algebraic vacuity or read missing history as zero." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/02 value=lock bound-lock/1 about="Bind a package release with the pipeline views. Bind a page to its receipts with view/readme. Refuse a dependency drift with dep pins. Ask a second head that must agree." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/learn value=present bound-lock/1 about="Bound is the application of that algebra: signed bounds, folded by one meet, refused when they fork." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/paper value=present -bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present +bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nAfter cloning this repository, fold the example place with the instrument:\n\n```sh\nnpx @lapxo/bound@0.1.5 samples/typed\n```\n\nThe folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:formed-native-samples by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present bound-lock/1 about="Cite it as {name}." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock bound-lock/1 about="Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/paper value=lock bound-lock/1 about="Conflicting live wire declarations refuse by scope; no vacuous alphabet." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/wire/unique-live-alphabet.md|samples/yes/wire/unique-live-alphabet.json|vectors/wire/unique-live-alphabet.json|samples/no/wire/unique-live-alphabet.json role=demands scope=wire/unique-live-alphabet value=present @@ -83,8 +83,8 @@ bound-lock/1 about="Render documentation and standard MIT license; verify one ex bound-lock/1 about="Render only this place admitted MIT text through the selected generic prose provider." at=witness:bound/015-standard-mit by=target form=alphabet measure=id needs=LICENSE role=demands scope=view/license-native shape=LICENSE value=text@3 bound-lock/1 about="Render this place admitted manifest prose through the existing explicitly selected text provider; general document capability demands remain unchanged." at=policy:bound/presentation by=target form=alphabet measure=id needs=package.json role=demands scope=view/manifest-render shape=package.json value=text@3 bound-lock/1 about="Replace the built-in module parser with a declared bounded command under a published host closure contract, then remove Acorn from Bound. Prove identical implementation identities and refusal of an unclosed runtime graph on unrelated programs; no regex fallback and no universal source grammar in the kernel." at=witness:host-command-requires-its-publication-quartet by=target form=alphabet measure=status needs=docs/contracts/host-module-command.md|samples/no/host-module-command.json|samples/yes/host-module-command.json|vectors/host-module-command.json role=demands scope=plan/0.1.6/host-module-command value=present -bound-lock/1 about="Reported unpaid by the Head clean-install matrix: authority-class evidence is exposed but attest receipts appear in no view. Confirm against exact archive; preserve admitted attribution." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/evidence-view.md|samples/yes/attest-evidence.json|vectors/attest-evidence.json|samples/no/attest-evidence.json role=demands scope=contract/published/attest-evidence-view value=present -bound-lock/1 about="Reported unpaid by the Head clean-install matrix: the typed-object sample is absent from the package. Confirm against exact archive; no receipt is fabricated." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/typed-object.md|samples/yes/typed-object.json|vectors/typed-object.json|samples/no/typed-object.json role=demands scope=contract/published/typed-object-sample value=present +bound-lock/1 about="Reported unpaid by the Head clean-install matrix: authority-class evidence is exposed but attest receipts appear in no view. Confirm against exact archive; preserve admitted attribution." at=witness:formed-publication-quartets-015 by=target form=alphabet measure=status needs=docs/contracts/evidence-view.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json role=demands scope=contract/published/attest-evidence-view value=present +bound-lock/1 about="Reported unpaid by the Head clean-install matrix: the typed-object sample is absent from the package. Confirm against exact archive; no receipt is fabricated." at=witness:formed-publication-quartets-015 by=target form=alphabet measure=status needs=docs/contracts/typed-object.md|samples/typed-object-1/TARGET.bound|samples/typed-object-7/TARGET.bound|vectors/typed-object.json role=demands scope=contract/published/typed-object-sample value=present bound-lock/1 about="Rewriting hero, idea and the other section regions as compositions of atoms is 0.1.1, not done quietly here." at=policy:bound/010 by=target form=alphabet kind=conjecture measure=status role=demands scope=open/section-regions-as-atoms value=present bound-lock/1 about="Source origin is distinct from local coordinates; requested verified bytes are handed to every declared eligible reader." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/region/origin-input.md|samples/yes/region/origin-input.json|vectors/region/origin-input.json|samples/no/region/origin-input.json role=demands scope=region/origin-input value=present bound-lock/1 about="The coordinate of the observed host implementation digest in the native receipt set." at=policy:bound/receipts by=target form=alphabet measure=id role=writes scope=audit/wire/receipt-instrument value=instrument/implementation @@ -312,7 +312,7 @@ bound-lock/1 about="what the second head found, which leaves the place has writt bound-lock/1 about="when the apart claim is withdrawn" at=policy:bound/door by=target form=alphabet measure=id role=writes scope=form/style/fold/back value=2.2 bound-lock/1 about="where a located world keeps each region file, by directory and extension, so the host loads the tree beside the pin" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=release/layout value=src/regions:.ts bound-lock/1 about="who signs this place" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=author value=Lapxo -bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"samples/typed/*.json\",\n \"tools/samples/*.mjs\",\n \"samples/walk/*.json\",\n \"vectors/native-walk.json\",\n \"docs/contracts/*.md\",\n \"docs/contracts/*.publication.json\",\n \"docs/contracts/publication.inventory.json\",\n \"samples/yes/typed-object.json\",\n \"samples/no/typed-object.json\",\n \"samples/yes/attest-evidence.json\",\n \"samples/no/attest-evidence.json\",\n \"vectors/typed-object.json\",\n \"vectors/attest-evidence.json\",\n \"samples/yes/signing-port.json\",\n \"samples/no/signing-port.json\",\n \"vectors/signing-port.json\",\n \"samples/yes/native-views.json\",\n \"samples/no/native-views.json\",\n \"vectors/native-views.json\",\n \"samples/yes/query-views.json\",\n \"samples/no/query-views.json\",\n \"vectors/query-views.json\",\n \"samples/yes/prose-views.json\",\n \"samples/no/prose-views.json\",\n \"vectors/prose-views.json\",\n \"samples/yes/program-views.json\",\n \"samples/no/program-views.json\",\n \"vectors/program-views.json\",\n \"samples/yes/historical-document-views.json\",\n \"samples/no/historical-document-views.json\",\n \"vectors/historical-document-views.json\",\n \"samples/yes/historical-build.json\",\n \"samples/no/historical-build.json\",\n \"vectors/historical-build.json\",\n \"samples/yes/historical-presentation.json\",\n \"samples/no/historical-presentation.json\",\n \"vectors/historical-presentation.json\",\n \"samples/yes/walk.json\",\n \"samples/no/walk.json\",\n \"vectors/walk-publication.json\",\n \"samples/yes/archive-conformance.json\",\n \"vectors/archive-conformance.json\",\n \"samples/no/archive-conformance.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock +bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"CONTRIBUTING.md\",\n \"LICENSE\",\n \"README.md\",\n \"TARGET.bound\",\n \"dist/**/*\",\n \"docs/contracts/*.md\",\n \"docs/contracts/*.publication.json\",\n \"docs/contracts/archive.md\",\n \"docs/contracts/cli.md\",\n \"docs/contracts/documents.md\",\n \"docs/contracts/evidence-view.md\",\n \"docs/contracts/publication.inventory.json\",\n \"docs/contracts/typed-object.md\",\n \"docs/contracts/view-walk.md\",\n \"docs/contracts/views.md\",\n \"docs/readme-assets/atlas.svg\",\n \"docs/usage.md\",\n \"package.json\",\n \"receipts.bound\",\n \"samples/artifacts-changed/TARGET.bound\",\n \"samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b\",\n \"samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/artifacts-changed/fixtures/history.txt\",\n \"samples/artifacts-changed/receipts.bound\",\n \"samples/artifacts/TARGET.bound\",\n \"samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b\",\n \"samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/artifacts/fixtures/history.txt\",\n \"samples/artifacts/receipts.bound\",\n \"samples/historical-document-views-1/CITATION.cff\",\n \"samples/historical-document-views-1/README.md\",\n \"samples/historical-document-views-1/TARGET.bound\",\n \"samples/historical-document-views-1/docs/guide.md\",\n \"samples/historical-document-views-1/docs/reference.md\",\n \"samples/historical-document-views-1/docs/why.md\",\n \"samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780\",\n \"samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-1/manifest.json\",\n \"samples/historical-document-views-1/notes.md\",\n \"samples/historical-document-views-1/process.yml\",\n \"samples/historical-document-views-1/receipts.bound\",\n \"samples/historical-document-views-1/tsconfig.json\",\n \"samples/historical-document-views-2/CITATION.cff\",\n \"samples/historical-document-views-2/README.md\",\n \"samples/historical-document-views-2/TARGET.bound\",\n \"samples/historical-document-views-2/docs/guide.md\",\n \"samples/historical-document-views-2/docs/reference.md\",\n \"samples/historical-document-views-2/docs/why.md\",\n \"samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780\",\n \"samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd\",\n \"samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-2/manifest.json\",\n \"samples/historical-document-views-2/notes.md\",\n \"samples/historical-document-views-2/process.yml\",\n \"samples/historical-document-views-2/receipts.bound\",\n \"samples/historical-document-views-2/tsconfig.json\",\n \"samples/historical-document-views-3/CITATION.cff\",\n \"samples/historical-document-views-3/README.md\",\n \"samples/historical-document-views-3/TARGET.bound\",\n \"samples/historical-document-views-3/docs/guide.md\",\n \"samples/historical-document-views-3/docs/reference.md\",\n \"samples/historical-document-views-3/docs/why.md\",\n \"samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780\",\n \"samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd\",\n \"samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6\",\n \"samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-3/manifest.json\",\n \"samples/historical-document-views-3/notes.md\",\n \"samples/historical-document-views-3/process.yml\",\n \"samples/historical-document-views-3/receipts.bound\",\n \"samples/historical-document-views-3/tsconfig.json\",\n \"samples/historical-document-views-4/CITATION.cff\",\n \"samples/historical-document-views-4/README.md\",\n \"samples/historical-document-views-4/TARGET.bound\",\n \"samples/historical-document-views-4/catalogue.json\",\n \"samples/historical-document-views-4/catalogue.md\",\n \"samples/historical-document-views-4/catalogue.yml\",\n \"samples/historical-document-views-4/docs/guide.md\",\n \"samples/historical-document-views-4/docs/reference.md\",\n \"samples/historical-document-views-4/docs/why.md\",\n \"samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66\",\n \"samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-4/receipts.bound\",\n \"samples/historical-document-views-4/tsconfig.json\",\n \"samples/historical-document-views-5/CITATION.cff\",\n \"samples/historical-document-views-5/README.md\",\n \"samples/historical-document-views-5/TARGET.bound\",\n \"samples/historical-document-views-5/catalogue.json\",\n \"samples/historical-document-views-5/catalogue.md\",\n \"samples/historical-document-views-5/catalogue.yml\",\n \"samples/historical-document-views-5/docs/guide.md\",\n \"samples/historical-document-views-5/docs/reference.md\",\n \"samples/historical-document-views-5/docs/why.md\",\n \"samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66\",\n \"samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3\",\n \"samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-5/receipts.bound\",\n \"samples/historical-document-views-5/tsconfig.json\",\n \"samples/historical-document-views-6/CITATION.cff\",\n \"samples/historical-document-views-6/README.md\",\n \"samples/historical-document-views-6/TARGET.bound\",\n \"samples/historical-document-views-6/catalogue.json\",\n \"samples/historical-document-views-6/catalogue.md\",\n \"samples/historical-document-views-6/catalogue.yml\",\n \"samples/historical-document-views-6/docs/guide.md\",\n \"samples/historical-document-views-6/docs/reference.md\",\n \"samples/historical-document-views-6/docs/why.md\",\n \"samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66\",\n \"samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c\",\n \"samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3\",\n \"samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-6/receipts.bound\",\n \"samples/historical-document-views-6/tsconfig.json\",\n \"samples/native-views/inputs/001-north.proposal\",\n \"samples/native-views/inputs/002-north.proposal\",\n \"samples/native-views/inputs/003-south.proposal\",\n \"samples/native-views/inputs/004-south.proposal\",\n \"samples/native-views/inputs/005-alias.proposal\",\n \"samples/native-views/inputs/006-alias.proposal\",\n \"samples/native-views/inputs/007-uncovered.proposal\",\n \"samples/native-views/inputs/008-altered.bound\",\n \"samples/native-views/inputs/009-withdraw.proposal\",\n \"samples/native-views/inputs/010-north.proposal\",\n \"samples/native-views/inputs/011-north.proposal\",\n \"samples/native-views/inputs/012-south.proposal\",\n \"samples/native-views/inputs/013-south.proposal\",\n \"samples/native-views/inputs/014-alias.proposal\",\n \"samples/native-views/inputs/015-alias.proposal\",\n \"samples/native-views/inputs/016-native-receipt.proposal\",\n \"samples/native-views/inputs/016-uncovered.proposal\",\n \"samples/native-views/inputs/017-altered.bound\",\n \"samples/native-views/inputs/017-native-receipt.proposal\",\n \"samples/native-views/inputs/018-uncovered.proposal\",\n \"samples/native-views/inputs/018-withdraw.proposal\",\n \"samples/native-views/inputs/019-altered.bound\",\n \"samples/native-views/inputs/019-north.proposal\",\n \"samples/native-views/inputs/020-north.proposal\",\n \"samples/native-views/inputs/020-withdraw.proposal\",\n \"samples/native-views/inputs/021-south.proposal\",\n \"samples/native-views/inputs/022-south.proposal\",\n \"samples/native-views/inputs/023-alias.proposal\",\n \"samples/native-views/inputs/024-alias.proposal\",\n \"samples/native-views/inputs/025-uncovered.proposal\",\n \"samples/native-views/inputs/026-altered.bound\",\n \"samples/native-views/inputs/027-withdraw.proposal\",\n \"samples/native-views/inputs/028-north.proposal\",\n \"samples/native-views/inputs/029-north.proposal\",\n \"samples/native-views/inputs/030-south.proposal\",\n \"samples/native-views/inputs/031-south.proposal\",\n \"samples/native-views/inputs/032-alias.proposal\",\n \"samples/native-views/inputs/033-alias.proposal\",\n \"samples/native-views/inputs/034-native-receipt.proposal\",\n \"samples/native-views/inputs/035-native-receipt.proposal\",\n \"samples/native-views/inputs/036-uncovered.proposal\",\n \"samples/native-views/inputs/037-altered.bound\",\n \"samples/native-views/inputs/038-withdraw.proposal\",\n \"samples/native-views/place-1/TARGET.bound\",\n \"samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00\",\n \"samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07\",\n \"samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539\",\n \"samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb\",\n \"samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258\",\n \"samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79\",\n \"samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48\",\n \"samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d\",\n \"samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7\",\n \"samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54\",\n \"samples/native-views/place-1/receipts.bound\",\n \"samples/native-views/place-2/TARGET.bound\",\n \"samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3\",\n \"samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac\",\n \"samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab\",\n \"samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8\",\n \"samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09\",\n \"samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c\",\n \"samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d\",\n \"samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81\",\n \"samples/native-views/place-2/receipts.bound\",\n \"samples/native-views/place-3/TARGET.bound\",\n \"samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d\",\n \"samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7\",\n \"samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4\",\n \"samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700\",\n \"samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247\",\n \"samples/native-views/place-3/receipts.bound\",\n \"samples/native-views/place-4/TARGET.bound\",\n \"samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42\",\n \"samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681\",\n \"samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7\",\n \"samples/native-views/place-4/receipts.bound\",\n \"samples/native-views/place/TARGET.bound\",\n \"samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369\",\n \"samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a\",\n \"samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39\",\n \"samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b\",\n \"samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972\",\n \"samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720\",\n \"samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2\",\n \"samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2\",\n \"samples/program-views-1/TARGET.bound\",\n \"samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9\",\n \"samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-1/receipts.bound\",\n \"samples/program-views-2/TARGET.bound\",\n \"samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca\",\n \"samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-2/receipts.bound\",\n \"samples/program-views-3/TARGET.bound\",\n \"samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c\",\n \"samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-3/receipts.bound\",\n \"samples/program-views-4/TARGET.bound\",\n \"samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f\",\n \"samples/program-views-4/receipts.bound\",\n \"samples/query-views-1/TARGET.bound\",\n \"samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8\",\n \"samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1\",\n \"samples/query-views-1/receipts.bound\",\n \"samples/query-views-1/source.txt\",\n \"samples/query-views-2/TARGET.bound\",\n \"samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8\",\n \"samples/query-views-2/receipts.bound\",\n \"samples/query-views-2/release.txt\",\n \"samples/signing-port/absent-3/TARGET.bound\",\n \"samples/signing-port/command-2/TARGET.bound\",\n \"samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15\",\n \"samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5\",\n \"samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746\",\n \"samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025\",\n \"samples/signing-port/file-1/TARGET.bound\",\n \"samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692\",\n \"samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7\",\n \"samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630\",\n \"samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf\",\n \"samples/signing-port/inputs/001-lot.proposal\",\n \"samples/signing-port/inputs/002-signed.proposal\",\n \"samples/signing-port/inputs/003-lot.proposal\",\n \"samples/signing-port/inputs/004-invalid.proposal\",\n \"samples/signing-port/inputs/file-signature.proposal\",\n \"samples/typed-changed/TARGET.bound\",\n \"samples/typed-changed/artifacts.json\",\n \"samples/typed-changed/artifacts.vector.json\",\n \"samples/typed-changed/contract.json\",\n \"samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-changed/fixtures/history.txt\",\n \"samples/typed-changed/no.json\",\n \"samples/typed-changed/range.vector.json\",\n \"samples/typed-changed/receipts.bound\",\n \"samples/typed-changed/wire.json\",\n \"samples/typed-changed/yes.json\",\n \"samples/typed-object-1/TARGET.bound\",\n \"samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-1/fixtures/history.txt\",\n \"samples/typed-object-1/receipts.bound\",\n \"samples/typed-object-2/TARGET.bound\",\n \"samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-2/fixtures/history.txt\",\n \"samples/typed-object-2/receipts.bound\",\n \"samples/typed-object-3/TARGET.bound\",\n \"samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-3/fixtures/history.txt\",\n \"samples/typed-object-3/receipts.bound\",\n \"samples/typed-object-4/TARGET.bound\",\n \"samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14\",\n \"samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9\",\n \"samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-4/fixtures/history.txt\",\n \"samples/typed-object-4/receipts.bound\",\n \"samples/typed-object-5/TARGET.bound\",\n \"samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a\",\n \"samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14\",\n \"samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9\",\n \"samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41\",\n \"samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d\",\n \"samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-5/fixtures/history.txt\",\n \"samples/typed-object-5/receipts.bound\",\n \"samples/typed-object-6/TARGET.bound\",\n \"samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a\",\n \"samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14\",\n \"samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9\",\n \"samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14\",\n \"samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41\",\n \"samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d\",\n \"samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4\",\n \"samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-6/fixtures/history.txt\",\n \"samples/typed-object-6/receipts.bound\",\n \"samples/typed-object-7/TARGET.bound\",\n \"samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15\",\n \"samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14\",\n \"samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41\",\n \"samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d\",\n \"samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-7/fixtures/history.txt\",\n \"samples/typed-object-7/receipts.bound\",\n \"samples/typed/TARGET.bound\",\n \"samples/typed/artifacts.json\",\n \"samples/typed/artifacts.vector.json\",\n \"samples/typed/contract.json\",\n \"samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed/fixtures/history.txt\",\n \"samples/typed/no.json\",\n \"samples/typed/range.vector.json\",\n \"samples/typed/receipts.bound\",\n \"samples/typed/wire.json\",\n \"samples/typed/yes.json\",\n \"samples/walk-publication/inputs/001-left-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/002-left-context.bound\",\n \"samples/walk-publication/inputs/003-right-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/004-right-context.bound\",\n \"samples/walk-publication/inputs/005-left-local.bound\",\n \"samples/walk-publication/inputs/006-right-local.bound\",\n \"samples/walk-publication/inputs/007-right-inventory.bound\",\n \"samples/walk-publication/inputs/008-altered.bound\",\n \"samples/walk-publication/inputs/009-partial-payload.bound\",\n \"samples/walk-publication/inputs/010-outside-prefix.bound\",\n \"samples/walk-publication/inputs/011-unauthorized-prefix.bound\",\n \"samples/walk-publication/inputs/012-stale-base.bound\",\n \"samples/walk-publication/inputs/013-left-payload.bound\",\n \"samples/walk-publication/inputs/014-missing-earlier-prefix.bound\",\n \"samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound\",\n \"samples/walk-publication/inputs/016-right-acknowledged.bound\",\n \"samples/walk-publication/inputs/017-no-payload.bound\",\n \"samples/walk-publication/inputs/018-left-inventory.bound\",\n \"samples/walk-publication/inputs/019-right-payload.bound\",\n \"samples/walk-publication/inputs/020-next-local.bound\",\n \"samples/walk-publication/inputs/021-alternate-origin-context.bound\",\n \"samples/walk-publication/inputs/022-select-alternate.bound\",\n \"samples/walk-publication/inputs/023-undeclared-context-lineage.bound\",\n \"samples/walk-publication/inputs/024-new-left-local.bound\",\n \"samples/walk-publication/inputs/025-right-final-inventory.bound\",\n \"samples/walk-publication/inputs/026-interruption-payload.bound\",\n \"samples/walk-publication/inputs/027-left-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/028-left-context.bound\",\n \"samples/walk-publication/inputs/029-right-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/030-right-context.bound\",\n \"samples/walk-publication/inputs/031-left-local.bound\",\n \"samples/walk-publication/inputs/032-right-local.bound\",\n \"samples/walk-publication/inputs/033-right-inventory.bound\",\n \"samples/walk-publication/inputs/034-altered.bound\",\n \"samples/walk-publication/inputs/035-partial-payload.bound\",\n \"samples/walk-publication/inputs/036-outside-prefix.bound\",\n \"samples/walk-publication/inputs/037-unauthorized-prefix.bound\",\n \"samples/walk-publication/inputs/038-stale-base.bound\",\n \"samples/walk-publication/inputs/039-left-payload.bound\",\n \"samples/walk-publication/inputs/040-missing-earlier-prefix.bound\",\n \"samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound\",\n \"samples/walk-publication/inputs/042-right-acknowledged.bound\",\n \"samples/walk-publication/inputs/043-no-payload.bound\",\n \"samples/walk-publication/inputs/044-left-inventory.bound\",\n \"samples/walk-publication/inputs/045-right-payload.bound\",\n \"samples/walk-publication/inputs/046-next-local.bound\",\n \"samples/walk-publication/inputs/047-alternate-origin-context.bound\",\n \"samples/walk-publication/inputs/048-select-alternate.bound\",\n \"samples/walk-publication/inputs/049-undeclared-context-lineage.bound\",\n \"samples/walk-publication/inputs/050-new-left-local.bound\",\n \"samples/walk-publication/inputs/051-right-final-inventory.bound\",\n \"samples/walk-publication/inputs/052-interruption-payload.bound\",\n \"samples/walk-publication/left-1/TARGET.bound\",\n \"samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\",\n \"samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca\",\n \"samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\",\n \"samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68\",\n \"samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7\",\n \"samples/walk-publication/left-3/TARGET.bound\",\n \"samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc\",\n \"samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\",\n \"samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25\",\n \"samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\",\n \"samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88\",\n \"samples/walk-publication/right-2/TARGET.bound\",\n \"samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a\",\n \"samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286\",\n \"samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\",\n \"samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2\",\n \"samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\",\n \"samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532\",\n \"samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c\",\n \"samples/walk-publication/right-4/TARGET.bound\",\n \"samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58\",\n \"samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2\",\n \"samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\",\n \"samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\",\n \"samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345\",\n \"samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004\",\n \"samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7\",\n \"vectors/archive-conformance.json\",\n \"vectors/historical-document-views.json\",\n \"vectors/native-views.json\",\n \"vectors/program-views.json\",\n \"vectors/query-views.json\",\n \"vectors/signing-port.json\",\n \"vectors/typed-object.json\",\n \"vectors/walk-publication.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}\n" at=witness:native-public-surface by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock bound-lock/1 about="{\n \"profile\": \"quartet-process@1\",\n \"scope\": \"contract/published\",\n \"surface\": [\n \"contract/published/attest-evidence-view\",\n \"contract/published/cli/fold\",\n \"contract/published/cli/land\",\n \"contract/published/cli/sign\",\n \"contract/published/pipeline/archive\",\n \"contract/published/typed-object-sample\",\n \"contract/published/view/card\",\n \"contract/published/view/citation-file\",\n \"contract/published/view/explanation\",\n \"contract/published/view/guide\",\n \"contract/published/view/help\",\n \"contract/published/view/lines\",\n \"contract/published/view/manifest-render\",\n \"contract/published/view/programs\",\n \"contract/published/view/readme-historical\",\n \"contract/published/view/receipts\",\n \"contract/published/view/reference\",\n \"contract/published/view/release-workflow-render\",\n \"contract/published/view/tsconfig\",\n \"contract/published/view/usage-profile\",\n \"contract/published/view/walk\",\n \"contract/published/view/why\"\n ],\n \"note\": \"Explicit public-surface inventory. A selected coordinate without a descriptor is unpaid. Outstanding capability demands are not advertised implementations.\"\n}" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-inventory shape=docs/contracts/publication.inventory.json value=lock bound-lock/1 about="{count} hold" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/badge/held value=lock bound-lock/1 about="{lo}..{hi} · {state}" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/fold/together value=present @@ -421,8 +421,9 @@ bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabe bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabet measure=id role=writes scope=dep/topos-doc/born shape=dist/index.js value=sha256:04feef01a8c59cae7ea842198d1faf0091b424129872a847b41c7da0bca6fabf bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=dep/process-readings shape=55b78b6c0a8ae86d84853ae34773b3a6947b31738b1242b20efa0da492ca0547 value=sha256:3f17467234fe9fce12d2859da21f7deba428b8279b387d33cb769e932ada3ecc bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:1dc6bb7b0a8587eadc52dacc3a74934d8707042a1078182a687d10d3df2deb0e -bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=c298746ef68fdf192a0feede8f514e42f28700a2c2bc542edabee7c7c090f64d value=sha256:63404128efbf4173dfcb8ba757cf9c8cc41f692dd13d5d00a0835d8c70dec7e0 -bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:ded485f3bf8ac0f11c73f61223f4180038b8c44904ea4f573a240b59a651a489 +bound-lock/1 at=witness:faithful-byte-inputs by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=a05c412a4514c59cab7cd0a4f4102bfd41dd14dc0878747820ffbae281447bbb value=sha256:627b74d04e54e218035ff8b09208f9868992e390c982551f164bfba4ddbfe36a +bound-lock/1 at=witness:native-workflow-receipts-627b74d04e54 by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=a05c412a4514c59cab7cd0a4f4102bfd41dd14dc0878747820ffbae281447bbb value=sha256:627b74d04e54e218035ff8b09208f9868992e390c982551f164bfba4ddbfe36a +bound-lock/1 at=witness:native-workflow-receipts-627b74d04e54 by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:3a0cf17c1919b99b2f2b1643bddf53b4162c34b46d084e03ada9bf8f5420696e bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/exchange-cost.json|samples/core/no/exchange-cost.json role=reads scope=exchange/cost value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/idempotent.json|samples/core/no/idempotent.json role=reads scope=idempotent value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/no-error.json|samples/core/no/no-error.json role=reads scope=no-error value=0..0 diff --git a/docs/contracts/archive-conformance.publication.json b/docs/contracts/archive-conformance.publication.json index f02f5ca..26295ef 100644 --- a/docs/contracts/archive-conformance.publication.json +++ b/docs/contracts/archive-conformance.publication.json @@ -4,22 +4,22 @@ { "role": "contract", "path": "docs/contracts/archive.md", - "digest": "sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9" + "digest": "sha256:55540a934b3fe26d87d65e608754e50554424ea1e6d79bc7138bdeb4612c97c4" }, { "role": "yes", - "path": "samples/yes/archive-conformance.json", - "digest": "sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c" + "path": "samples/artifacts/TARGET.bound", + "digest": "sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba" }, { "role": "vector", "path": "vectors/archive-conformance.json", - "digest": "sha256:c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f" + "digest": "sha256:2b7ed94d33ef033a2e883665657202220638e17f868db67114fde6a2c84e9011" }, { "role": "no", - "path": "samples/no/archive-conformance.json", - "digest": "sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea" + "path": "samples/artifacts-changed/TARGET.bound", + "digest": "sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba" } ] } diff --git a/docs/contracts/archive.md b/docs/contracts/archive.md index 11c0891..a03a209 100644 --- a/docs/contracts/archive.md +++ b/docs/contracts/archive.md @@ -1,11 +1,7 @@ # Exact release artifact -Packing is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes. +An archive digest names its exact bytes. It is distinct from a Topos standing identity. The pipeline produces one archive for the registry and forge; it does not pack a second file and assume equality. -The archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed. +The public conformance vector uses only the installed instrument. Two unrelated formed places resolve their named standing and artifacts, then print their cells. A changed artifact with the retained digest refuses before execution. This proves the host materialization boundary; it does not claim that file presence is an installed-release receipt. -The samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan. - -This is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions. - -Rendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file. +Acceptance of the candidate additionally requires its exact member list, archive hash, clean installation and product captures from that archive, without source conditions or a checkout ledger. Changed implementation bytes require a new candidate capture. Packing, installing and publishing are host acts; the vector does not authenticate to a registry or publish. The owner approves that exact archive after verification. diff --git a/docs/contracts/attest-evidence.publication.json b/docs/contracts/attest-evidence.publication.json index b82a36f..69cda2f 100644 --- a/docs/contracts/attest-evidence.publication.json +++ b/docs/contracts/attest-evidence.publication.json @@ -4,22 +4,22 @@ { "role": "contract", "path": "docs/contracts/evidence-view.md", - "digest": "sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7" + "digest": "sha256:c601e3b472960cfcf46bc4b6dd356716ddd490969686068d894ab246a92a5e30" }, { "role": "yes", - "path": "samples/yes/native-views.json", - "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + "path": "samples/native-views/place-1/TARGET.bound", + "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" }, { "role": "no", - "path": "samples/no/native-views.json", - "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + "path": "samples/native-views/inputs/037-altered.bound", + "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" } ] } diff --git a/docs/contracts/cli-fold.publication.json b/docs/contracts/cli-fold.publication.json index 2fd09e7..027484f 100644 --- a/docs/contracts/cli-fold.publication.json +++ b/docs/contracts/cli-fold.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/native-views.json", - "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + "path": "samples/native-views/place-1/TARGET.bound", + "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" }, { "role": "no", - "path": "samples/no/native-views.json", - "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + "path": "samples/native-views/inputs/037-altered.bound", + "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" } ] } diff --git a/docs/contracts/cli-land.publication.json b/docs/contracts/cli-land.publication.json index 8552229..8085364 100644 --- a/docs/contracts/cli-land.publication.json +++ b/docs/contracts/cli-land.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/native-views.json", - "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + "path": "samples/native-views/place-1/TARGET.bound", + "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" }, { "role": "no", - "path": "samples/no/native-views.json", - "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + "path": "samples/native-views/inputs/037-altered.bound", + "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" } ] } diff --git a/docs/contracts/cli-sign.publication.json b/docs/contracts/cli-sign.publication.json index 0018210..b847af7 100644 --- a/docs/contracts/cli-sign.publication.json +++ b/docs/contracts/cli-sign.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/signing-port.json", - "digest": "sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69" + "path": "samples/signing-port/file-1/TARGET.bound", + "digest": "sha256:2bb37c9ef367c011823b421d9f335ecdb8e3df6c4a14b80bc66fa3667e54518f" }, { "role": "no", - "path": "samples/no/signing-port.json", - "digest": "sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15" + "path": "samples/signing-port/inputs/004-invalid.proposal", + "digest": "sha256:ff12e46709bb66c0d73db3230bb3cc93fad7a280097f0125bfb8271b351acc2f" }, { "role": "vector", "path": "vectors/signing-port.json", - "digest": "sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde" + "digest": "sha256:32eb52e0426ec47cd24d189158a3e151d259bbcd16bfdbed4f0582b216b202d1" } ] } diff --git a/docs/contracts/evidence-view.md b/docs/contracts/evidence-view.md index 52fbe0c..48f4870 100644 --- a/docs/contracts/evidence-view.md +++ b/docs/contracts/evidence-view.md @@ -1,7 +1,7 @@ # Authenticated evidence view -The declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary. +The declared evidence@8 view projects authenticated delivery history of the place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence grants neither normative authority nor independent observation origins. Existing Topos authority and coverage remain the admission boundary. -Run `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins. +A sample is a place: fold its declared evidence view with the instrument. The native-view vector invokes only Bound: bootstrap with an external host signer, sign and land evidence, inspect help, lines and native receipts, inspect authenticated evidence, and redeliver retained signed bytes. No private key, registry or validation executor is shipped. The vector names its external signer parameters explicitly; absence cannot be replaced by a fabricated signature. -The no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped. +The rejected sample contains an uncovered write and altered signed bytes. Both refuse by name. Withdrawals remove only covered normative lines; authenticated delivery remains inspectable. Aliases of one key grant no independence. Native receipt fixture bytes are retained output from the instrument, not observations written by a test. diff --git a/docs/contracts/typed-object.md b/docs/contracts/typed-object.md index 5e4dcd3..d7c3022 100644 --- a/docs/contracts/typed-object.md +++ b/docs/contracts/typed-object.md @@ -1,35 +1,7 @@ ## Typed cell, claim and mark records -The object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile. +The typed profile is selected by admitted wire/object/* declarations in Topos. A cell names its selected form, parameter bytes, topos standing and declared restsOn coordinates. Positive ceilings travel; a witnessed join is local; positive floors travel. Claims carry independently admitted origin evidence. Bound projects the admitted history into Obligations and prints its four states; configuration readings do not compute those encounters. -`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope. +Each sample is a place with TARGET.bound, native receipts.bound and fixture data whose hashes the lock names. After a clone, run `npx @lapxo/bound@0.1.5 samples/typed`; `samples/artifacts` demonstrates another form through the same path. No sample runner or private key is required. The native vector folds the signed histories for compatible claims, both CONFLICT causes, FORBIDDEN, exact withdrawals and reuse, and refuses floor/local. It compares the CELL lines with the directly constructed Obligations scene. -The common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission. - -| Row | Fields in addition to the common envelope | Meaning | -| --- | --- | --- | -| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. | -| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. | -| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. | -| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. | -| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. | -| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. | -| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. | - -Each row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin. - -For a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested. - -The cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred. - -`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification. - -After admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters. - -The shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place. - -## Running the published place - -Run `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied. - -The accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form. +A history artifact digest closes its exact bytes; it is not the identity of the place. Digest-only place selection waits for a semantic projection that preserves effective act order while excluding delivery envelopes. No archive or generic standing encoder is substituted for that contract. diff --git a/docs/contracts/typed-object.publication.json b/docs/contracts/typed-object.publication.json index f86528e..1301d0e 100644 --- a/docs/contracts/typed-object.publication.json +++ b/docs/contracts/typed-object.publication.json @@ -4,22 +4,22 @@ { "role": "contract", "path": "docs/contracts/typed-object.md", - "digest": "sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05" + "digest": "sha256:d6ee08ec2b339c9d9ca969452b8ed160b72c7aeb3904fd29b7259c0eecc008b3" }, { "role": "yes", - "path": "samples/yes/typed-object.json", - "digest": "sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d" + "path": "samples/typed-object-1/TARGET.bound", + "digest": "sha256:20ffddf05e09a2d4e9c71c344de687ded6bbe59534a842b2a1ef24e4a7cadabe" }, { "role": "vector", "path": "vectors/typed-object.json", - "digest": "sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a" + "digest": "sha256:df8a4e35a2ac0dc5679ce1416860931c98d8ed565b27fb28fb676a81f06bbe92" }, { "role": "no", - "path": "samples/no/typed-object.json", - "digest": "sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0" + "path": "samples/typed-object-7/TARGET.bound", + "digest": "sha256:8fbf56bc1bb119fcbe05cc158e55317092867b1a64c4acc10a91084d7143a898" } ] } diff --git a/docs/contracts/view-card.publication.json b/docs/contracts/view-card.publication.json index 482b3ff..3e5a2cf 100644 --- a/docs/contracts/view-card.publication.json +++ b/docs/contracts/view-card.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/program-views.json", - "digest": "sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15" + "path": "samples/program-views-1/TARGET.bound", + "digest": "sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f" }, { "role": "no", - "path": "samples/no/program-views.json", - "digest": "sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7" + "path": "samples/program-views-2/TARGET.bound", + "digest": "sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b" }, { "role": "vector", "path": "vectors/program-views.json", - "digest": "sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71" + "digest": "sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255" } ] } diff --git a/docs/contracts/view-citation-file.publication.json b/docs/contracts/view-citation-file.publication.json index 3500631..78e1f43 100644 --- a/docs/contracts/view-citation-file.publication.json +++ b/docs/contracts/view-citation-file.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-explanation.publication.json b/docs/contracts/view-explanation.publication.json index 44827aa..a574a29 100644 --- a/docs/contracts/view-explanation.publication.json +++ b/docs/contracts/view-explanation.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-guide.publication.json b/docs/contracts/view-guide.publication.json index 3a58f14..e1c03ef 100644 --- a/docs/contracts/view-guide.publication.json +++ b/docs/contracts/view-guide.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-help.publication.json b/docs/contracts/view-help.publication.json index 72429dc..f3f72c2 100644 --- a/docs/contracts/view-help.publication.json +++ b/docs/contracts/view-help.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/native-views.json", - "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + "path": "samples/native-views/place-1/TARGET.bound", + "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" }, { "role": "no", - "path": "samples/no/native-views.json", - "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + "path": "samples/native-views/inputs/037-altered.bound", + "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" } ] } diff --git a/docs/contracts/view-lines.publication.json b/docs/contracts/view-lines.publication.json index 94f3647..c389aeb 100644 --- a/docs/contracts/view-lines.publication.json +++ b/docs/contracts/view-lines.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/native-views.json", - "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + "path": "samples/native-views/place-1/TARGET.bound", + "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" }, { "role": "no", - "path": "samples/no/native-views.json", - "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + "path": "samples/native-views/inputs/037-altered.bound", + "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" } ] } diff --git a/docs/contracts/view-manifest-render.publication.json b/docs/contracts/view-manifest-render.publication.json index a3a1553..b985218 100644 --- a/docs/contracts/view-manifest-render.publication.json +++ b/docs/contracts/view-manifest-render.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-programs.publication.json b/docs/contracts/view-programs.publication.json index ac66c99..d4156f3 100644 --- a/docs/contracts/view-programs.publication.json +++ b/docs/contracts/view-programs.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/program-views.json", - "digest": "sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15" + "path": "samples/program-views-1/TARGET.bound", + "digest": "sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f" }, { "role": "no", - "path": "samples/no/program-views.json", - "digest": "sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7" + "path": "samples/program-views-2/TARGET.bound", + "digest": "sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b" }, { "role": "vector", "path": "vectors/program-views.json", - "digest": "sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71" + "digest": "sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255" } ] } diff --git a/docs/contracts/view-readme-historical.publication.json b/docs/contracts/view-readme-historical.publication.json index d1feb30..3a048b5 100644 --- a/docs/contracts/view-readme-historical.publication.json +++ b/docs/contracts/view-readme-historical.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-receipts.publication.json b/docs/contracts/view-receipts.publication.json index 7b9a63e..40b8381 100644 --- a/docs/contracts/view-receipts.publication.json +++ b/docs/contracts/view-receipts.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/native-views.json", - "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" + "path": "samples/native-views/place-1/TARGET.bound", + "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" }, { "role": "no", - "path": "samples/no/native-views.json", - "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" + "path": "samples/native-views/inputs/037-altered.bound", + "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" + "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" } ] } diff --git a/docs/contracts/view-reference.publication.json b/docs/contracts/view-reference.publication.json index 348a0e7..8cdadfd 100644 --- a/docs/contracts/view-reference.publication.json +++ b/docs/contracts/view-reference.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-release-workflow-render.publication.json b/docs/contracts/view-release-workflow-render.publication.json index a5fc70b..94fd6de 100644 --- a/docs/contracts/view-release-workflow-render.publication.json +++ b/docs/contracts/view-release-workflow-render.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-tsconfig.publication.json b/docs/contracts/view-tsconfig.publication.json index f75b8a7..f6d4ae3 100644 --- a/docs/contracts/view-tsconfig.publication.json +++ b/docs/contracts/view-tsconfig.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-usage-profile.publication.json b/docs/contracts/view-usage-profile.publication.json index 4054329..24d7a39 100644 --- a/docs/contracts/view-usage-profile.publication.json +++ b/docs/contracts/view-usage-profile.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/historical-document-views.json", - "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" + "path": "samples/historical-document-views-1/TARGET.bound", + "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" }, { "role": "no", - "path": "samples/no/historical-document-views.json", - "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" + "path": "samples/historical-document-views-2/TARGET.bound", + "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" + "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" } ] } diff --git a/docs/contracts/view-walk.publication.json b/docs/contracts/view-walk.publication.json index cdc1b9c..0616528 100644 --- a/docs/contracts/view-walk.publication.json +++ b/docs/contracts/view-walk.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/walk.json", - "digest": "sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac" + "path": "samples/walk-publication/left-1/TARGET.bound", + "digest": "sha256:d7e7e89d222c81ec003ceccd095b3f5aaa30a3b19b2d2972c5c89554f3549e03" }, { "role": "vector", "path": "vectors/walk-publication.json", - "digest": "sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113" + "digest": "sha256:b89667bfd666d39a2432ba236144c98ff30c885adec6525fa658d08fc281ede9" }, { "role": "no", - "path": "samples/no/walk.json", - "digest": "sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233" + "path": "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "digest": "sha256:205584e98246abb9f6e273c26ee83e145640b5d3f64ec2f513c847c909d66e4f" } ] } diff --git a/docs/contracts/view-why.publication.json b/docs/contracts/view-why.publication.json index c048606..c56ea0a 100644 --- a/docs/contracts/view-why.publication.json +++ b/docs/contracts/view-why.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/yes/query-views.json", - "digest": "sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317" + "path": "samples/query-views-1/TARGET.bound", + "digest": "sha256:eb0000cabe3582b4e762923bd7559ad27f8053743f990e925fd0d7e74a89e4b2" }, { "role": "no", - "path": "samples/no/query-views.json", - "digest": "sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4" + "path": "samples/query-views-1/TARGET.bound", + "digest": "sha256:eb0000cabe3582b4e762923bd7559ad27f8053743f990e925fd0d7e74a89e4b2" }, { "role": "vector", "path": "vectors/query-views.json", - "digest": "sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1" + "digest": "sha256:238c34575217eaf2e5e61d893def730002942c1b10c5c68581d60d8ebf7ee58b" } ] } diff --git a/docs/why.md b/docs/why.md index ff689d3..b2effb6 100644 --- a/docs/why.md +++ b/docs/why.md @@ -16,14 +16,13 @@ Use this flow to review a project change or check a dependency's declared contra For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. -Run the executable example with the installed CLI: +After cloning this repository, fold the example place with the instrument: ```sh -npm install @lapxo/bound@0.1.5 -node node_modules/@lapxo/bound/tools/samples/run-typed.mjs +npx @lapxo/bound@0.1.5 samples/typed ``` -The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). +The folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. diff --git a/package.json b/package.json index 0ace998..b2b4e02 100644 --- a/package.json +++ b/package.json @@ -19,57 +19,1295 @@ "prepack": "npm run build" }, "files": [ + "CONTRIBUTING.md", "LICENSE", "README.md", - "CONTRIBUTING.md", - "dist/**/*", "TARGET.bound", - "receipts.bound", - "docs/usage.md", - "docs/readme-assets/atlas.svg", - "samples/typed/*.json", - "tools/samples/*.mjs", - "samples/walk/*.json", - "vectors/native-walk.json", + "dist/**/*", "docs/contracts/*.md", "docs/contracts/*.publication.json", + "docs/contracts/archive.md", + "docs/contracts/cli.md", + "docs/contracts/documents.md", + "docs/contracts/evidence-view.md", "docs/contracts/publication.inventory.json", - "samples/yes/typed-object.json", - "samples/no/typed-object.json", - "samples/yes/attest-evidence.json", - "samples/no/attest-evidence.json", - "vectors/typed-object.json", - "vectors/attest-evidence.json", - "samples/yes/signing-port.json", - "samples/no/signing-port.json", - "vectors/signing-port.json", - "samples/yes/native-views.json", - "samples/no/native-views.json", + "docs/contracts/typed-object.md", + "docs/contracts/view-walk.md", + "docs/contracts/views.md", + "docs/readme-assets/atlas.svg", + "docs/usage.md", + "package.json", + "receipts.bound", + "samples/artifacts-changed/TARGET.bound", + "samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", + "samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/artifacts-changed/fixtures/history.txt", + "samples/artifacts-changed/receipts.bound", + "samples/artifacts/TARGET.bound", + "samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", + "samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/artifacts/fixtures/history.txt", + "samples/artifacts/receipts.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json", + "samples/historical-document-views-2/CITATION.cff", + "samples/historical-document-views-2/README.md", + "samples/historical-document-views-2/TARGET.bound", + "samples/historical-document-views-2/docs/guide.md", + "samples/historical-document-views-2/docs/reference.md", + "samples/historical-document-views-2/docs/why.md", + "samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", + "samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-2/manifest.json", + "samples/historical-document-views-2/notes.md", + "samples/historical-document-views-2/process.yml", + "samples/historical-document-views-2/receipts.bound", + "samples/historical-document-views-2/tsconfig.json", + "samples/historical-document-views-3/CITATION.cff", + "samples/historical-document-views-3/README.md", + "samples/historical-document-views-3/TARGET.bound", + "samples/historical-document-views-3/docs/guide.md", + "samples/historical-document-views-3/docs/reference.md", + "samples/historical-document-views-3/docs/why.md", + "samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", + "samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6", + "samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-3/manifest.json", + "samples/historical-document-views-3/notes.md", + "samples/historical-document-views-3/process.yml", + "samples/historical-document-views-3/receipts.bound", + "samples/historical-document-views-3/tsconfig.json", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json", + "samples/historical-document-views-5/CITATION.cff", + "samples/historical-document-views-5/README.md", + "samples/historical-document-views-5/TARGET.bound", + "samples/historical-document-views-5/catalogue.json", + "samples/historical-document-views-5/catalogue.md", + "samples/historical-document-views-5/catalogue.yml", + "samples/historical-document-views-5/docs/guide.md", + "samples/historical-document-views-5/docs/reference.md", + "samples/historical-document-views-5/docs/why.md", + "samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", + "samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-5/receipts.bound", + "samples/historical-document-views-5/tsconfig.json", + "samples/historical-document-views-6/CITATION.cff", + "samples/historical-document-views-6/README.md", + "samples/historical-document-views-6/TARGET.bound", + "samples/historical-document-views-6/catalogue.json", + "samples/historical-document-views-6/catalogue.md", + "samples/historical-document-views-6/catalogue.yml", + "samples/historical-document-views-6/docs/guide.md", + "samples/historical-document-views-6/docs/reference.md", + "samples/historical-document-views-6/docs/why.md", + "samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c", + "samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", + "samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-6/receipts.bound", + "samples/historical-document-views-6/tsconfig.json", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/program-views-1/TARGET.bound", + "samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9", + "samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-1/receipts.bound", + "samples/program-views-2/TARGET.bound", + "samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca", + "samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-2/receipts.bound", + "samples/program-views-3/TARGET.bound", + "samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c", + "samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-3/receipts.bound", + "samples/program-views-4/TARGET.bound", + "samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f", + "samples/program-views-4/receipts.bound", + "samples/query-views-1/TARGET.bound", + "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", + "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", + "samples/query-views-1/receipts.bound", + "samples/query-views-1/source.txt", + "samples/query-views-2/TARGET.bound", + "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", + "samples/query-views-2/receipts.bound", + "samples/query-views-2/release.txt", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal", + "samples/typed-changed/TARGET.bound", + "samples/typed-changed/artifacts.json", + "samples/typed-changed/artifacts.vector.json", + "samples/typed-changed/contract.json", + "samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-changed/fixtures/history.txt", + "samples/typed-changed/no.json", + "samples/typed-changed/range.vector.json", + "samples/typed-changed/receipts.bound", + "samples/typed-changed/wire.json", + "samples/typed-changed/yes.json", + "samples/typed-object-1/TARGET.bound", + "samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-1/fixtures/history.txt", + "samples/typed-object-1/receipts.bound", + "samples/typed-object-2/TARGET.bound", + "samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-2/fixtures/history.txt", + "samples/typed-object-2/receipts.bound", + "samples/typed-object-3/TARGET.bound", + "samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-3/fixtures/history.txt", + "samples/typed-object-3/receipts.bound", + "samples/typed-object-4/TARGET.bound", + "samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", + "samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", + "samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-4/fixtures/history.txt", + "samples/typed-object-4/receipts.bound", + "samples/typed-object-5/TARGET.bound", + "samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", + "samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", + "samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", + "samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", + "samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", + "samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-5/fixtures/history.txt", + "samples/typed-object-5/receipts.bound", + "samples/typed-object-6/TARGET.bound", + "samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", + "samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", + "samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", + "samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", + "samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", + "samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", + "samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4", + "samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-6/fixtures/history.txt", + "samples/typed-object-6/receipts.bound", + "samples/typed-object-7/TARGET.bound", + "samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15", + "samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", + "samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", + "samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", + "samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-7/fixtures/history.txt", + "samples/typed-object-7/receipts.bound", + "samples/typed/TARGET.bound", + "samples/typed/artifacts.json", + "samples/typed/artifacts.vector.json", + "samples/typed/contract.json", + "samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed/fixtures/history.txt", + "samples/typed/no.json", + "samples/typed/range.vector.json", + "samples/typed/receipts.bound", + "samples/typed/wire.json", + "samples/typed/yes.json", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7", + "vectors/archive-conformance.json", + "vectors/historical-document-views.json", "vectors/native-views.json", - "samples/yes/query-views.json", - "samples/no/query-views.json", - "vectors/query-views.json", - "samples/yes/prose-views.json", - "samples/no/prose-views.json", - "vectors/prose-views.json", - "samples/yes/program-views.json", - "samples/no/program-views.json", "vectors/program-views.json", - "samples/yes/historical-document-views.json", - "samples/no/historical-document-views.json", - "vectors/historical-document-views.json", - "samples/yes/historical-build.json", - "samples/no/historical-build.json", - "vectors/historical-build.json", - "samples/yes/historical-presentation.json", - "samples/no/historical-presentation.json", - "vectors/historical-presentation.json", - "samples/yes/walk.json", - "samples/no/walk.json", - "vectors/walk-publication.json", - "samples/yes/archive-conformance.json", - "vectors/archive-conformance.json", - "samples/no/archive-conformance.json" + "vectors/query-views.json", + "vectors/signing-port.json", + "vectors/typed-object.json", + "vectors/walk-publication.json" ], "author": "Lapxo", "license": "MIT", diff --git a/receipts.bound b/receipts.bound index 4a9d001..80b7c53 100644 --- a/receipts.bound +++ b/receipts.bound @@ -1,269 +1,360 @@ -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=071d908324529800 -bound-lock/1 at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=09f95300564a2597 -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=1ebd2fb40bd9c4da -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=20a5809a736d1648 -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=2a49b6a91dd16cee -bound-lock/1 at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=2c8d858d0a2d739a -bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=2cb559ed40efa558 -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=2d04adfa562a1477 -bound-lock/1 at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=2d105b936f1ad95d -bound-lock/1 at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=2d1fd8c7ac82c5f2 -bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=330ff2c1eff19e4d -bound-lock/1 at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=35c295396fe48de3 -bound-lock/1 at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=375927d10a1ab54c -bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published value=3cc406dc78785a8e -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/why value=4240854df5d1e6a6 -bound-lock/1 at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=428fd66e16ff6c94 -bound-lock/1 at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=4fe32ff0efcbb684 -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=51c635c6bbf573e9 -bound-lock/1 at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5d252a39a5e2e1c2 -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=637f6f93ba7d3291 -bound-lock/1 at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=6649c3496c7363c3 -bound-lock/1 at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=68135abf8b3d3949 -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=753fd8d9924fa763 -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/card value=7c8114b57169ee07 -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=83b36d05ab9ae7b5 -bound-lock/1 at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=960c34893ee4d384 -bound-lock/1 at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=972a9fd39eaf078d -bound-lock/1 at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=975b8ef6e0522023 -bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=9799ee315fb83ec9 -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=9abcbd07b03d0f7f -bound-lock/1 at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=9ea7fb1da3e8b7a3 -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=a0541d7dd3e4cf74 -bound-lock/1 at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=a3275d51a28d0179 -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=ac4d615f33093661 -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=ae0831f740958998 -bound-lock/1 at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=ae944235f9f31de3 -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/help value=aebd31c736e81397 -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=b043341704c0fc34 -bound-lock/1 at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=b0ea35f7168ed26b -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=b5750248a64817cf -bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=b9ce50ddf902f16e -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=b9d645d43a565a44 -bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=c1bb280370ffd655 -bound-lock/1 at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=c46e5245442d8468 -bound-lock/1 at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=c5981d283d564035 -bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=c9c398754a4d3726 -bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=cb7a5607027b337d -bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=d2eb1fec213fc191 -bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=dab94601f6ee76e5 -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=e0a39d3f852d5c01 -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=observed role=writes scope= value=e2602308ed24728e -bound-lock/1 at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=f02cd38d39c5a14b -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=f2ba95dbc77e18d3 -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=fb6841cdd1a9f691 -bound-lock/1 at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=fd71d5ce54a30a49 -bound-lock/1 about="bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=5..5 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:6085a889a9b94fd27e55e004fd46919fe5889fc1851cc22bfd86d2c97badb4c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive.md value=sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=sha256:b45fd971e6975b1965057d4028d083d3cc801e2f713bf226840cfe54adfeb7b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/archive-conformance.json value=sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/archive-conformance.json value=sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/archive-conformance.json value=sha256:c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f role=reads scope=contract/published/pipeline/archive value=docs/contracts/archive-conformance.publication.json|docs/contracts/archive.md|samples/no/archive-conformance.json|samples/yes/archive-conformance.json|vectors/archive-conformance.json\n" at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:efeae360709b0bdd9e0641e65bec91a3a3a29c534a982dc287287ae7afe512cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:c95c704f175e189b1d0f7f0a91374e251689e0a2f7265cc759c55cf5b9e8be1a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:8187552aaee39c9e2b748158623ba341f8c2e132a3aa472dcb89b1986311796d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:c6b3a00809e69db29861160b6dfaded9d491cb398f48d4ba18f583e8f2d74a1c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=sha256:38eab0f25722e8559d4afc43f78d66f54d7b1ebcac04d5f87c09d60778763544\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/signing-port.json value=sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/signing-port.json value=sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.publication.json|docs/contracts/cli.md|samples/no/signing-port.json|samples/yes/signing-port.json|vectors/signing-port.json\n" at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:8fd8362d2b64292c0eb5b587984e67f65417df611ff0f35876af58e42ab3f2b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/citation-file value=docs/contracts/documents.md|docs/contracts/view-citation-file.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:c60066fb7a05399af4f62aff0e30a18c5ceb79c229bef6fa2369acd880eec428\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/explanation value=docs/contracts/documents.md|docs/contracts/view-explanation.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:40c884f7e1f7004330767073288fca859239cb621a565e5a4348b3b5243854fd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/guide value=docs/contracts/documents.md|docs/contracts/view-guide.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:51b9a7d904d0d6986c8e392c3bd9a64edc75ecbadbdc5056d6dd69cf380e6d02\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/manifest-render value=docs/contracts/documents.md|docs/contracts/view-manifest-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:74d5de324c84700455fd5d1f27ade0db283bc819bd7077fa0ba5b9bb91185ebf\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/readme-historical value=docs/contracts/documents.md|docs/contracts/view-readme-historical.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:2d79bedaeb09f7a983d7825f2155f5830c2a12a913a77f5f8246391015c63bda\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/reference value=docs/contracts/documents.md|docs/contracts/view-reference.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:bddd22afcb7479de5e1fa835bbd7edaca668859a33eb58a64aa9e94c86aed0a1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/documents.md|docs/contracts/view-release-workflow-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:017235397bbd6cae017dc257fb2db87380325046ae87b63f2db53b0d6205e904\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/tsconfig value=docs/contracts/documents.md|docs/contracts/view-tsconfig.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:e0fe246c4768c2022524fe54d7eb0849a2a8cbc3b3ba9e94ea34f5fa9a2b84ef\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/usage-profile value=docs/contracts/documents.md|docs/contracts/view-usage-profile.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:e914a8753b6803c73ed05166a78577742e4fc684e009467e94882f9fd58c3dfb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=sha256:fa5b851eb8a0a4c81363cdfd010a36d39a8e8e831c032dcd768a881ed53b2c6e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/typed-object.json value=sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/typed-object.json value=sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/no/typed-object.json|samples/yes/typed-object.json|vectors/typed-object.json\n" at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:1d50d3bce5ec3155cf5ac1f32160a27cbb5c67b4bf23d8397dc5b3fb192cd709\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/card value=docs/contracts/view-card.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:90c3752d23c7429f512ed780ad293652db5b3098d91bdb63d1f4b86753b1aee0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/help value=docs/contracts/view-help.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:a6107a627b7a2cf18d96bbb1a21f61b1a3562c7eb6a67252cf94ac4964e7c23e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:d22ea5b51f369bdb89d8ff762cb61f5c05994c9eaac3e59131ed40139b2294f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:1275c2f0fc854ca3c115aec57b6a2800425026a12c1c35c874857c6fa2f692e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:d9f7d39ef313e213748a77e190fb6347aad98e378cfbfb66e97eb7e86d39e2cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=sha256:1ca81d8aafbe25d3e23eeb2b7b777c70ce5cce67519cc1738463d8e40836bbc6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/walk.json value=sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/walk.json value=sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json\n" at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:b554a63a3c9f2cba85cbc4cc4809324f0cd8c4903326029912270bceda206acb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=sha256:8cc952a6b3c3a70fd90d59ecdb9089d3c48d9bb03940b97d4aa857eefed64097\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/query-views.json value=sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/query-views.json value=sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 role=reads scope=contract/published/view/why value=docs/contracts/view-why.publication.json|docs/contracts/views.md|samples/no/query-views.json|samples/yes/query-views.json|vectors/query-views.json\n" at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=0.202563..0.202563 -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=0.209962..0.209962 -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=0.197739..0.197739 -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=0.207598..0.207598 -bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=0..0 -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=0.208077..0.208077 -bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=0..0 -bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published value=0..0 -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=0.200795..0.200795 -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=0.201813..0.201813 -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=0.202448..0.202448 -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=0.205380..0.205380 -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=0.201321..0.201321 -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=0.201784..0.201784 -bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=0.209941..0.209941 -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=0.208624..0.208624 -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=0.203790..0.203790 -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=0.209655..0.209655 -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=0.199971..0.199971 -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=0.204573..0.204573 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=0.206477..0.206477 -bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=0..0 -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=0.203591..0.203591 -bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=0..0 -bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=0..0 -bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=0..0 -bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=0..0 -bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=0..0 -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=0.202126..0.202126 -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/org value=none -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/path value=none -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/host value=0..0 -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/key value=0..0 -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/org value=0..0 -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/path value=0..0 -bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=0.209608..0.209608 -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=0.209015..0.209015 +bound-lock/1 at=place:sha256:0083bd880b3d85f725f452de0790a00d267a761428592d693e42d4415a731755 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=0083bd880b3d85f7 +bound-lock/1 at=place:sha256:05bcfaa660c331766d25571f03ff0ff9c2e86da7f54fce6b321a80f0df15b4cc by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe value=05bcfaa660c33176 +bound-lock/1 at=place:sha256:0b7a54498e516f738da1404af8718397d9de8a8d5a5631195a1a5875da6e4205 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=0b7a54498e516f73 +bound-lock/1 at=place:sha256:0bd0e3e9079051d1c20b6215e50a70a377272ece67ca7d00ea5036af6352a45e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=0bd0e3e9079051d1 +bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=0c305b4dd839cce2 +bound-lock/1 at=place:sha256:0c8cfb2dd9cd6007956543f95044a01a381134d81572a16d8f883bbc13d35177 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=0c8cfb2dd9cd6007 +bound-lock/1 at=place:sha256:106874c37ec7f7ca6c4c00731a2deaba26a361c2250088ffdd25ba63af2f7efd by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=106874c37ec7f7ca +bound-lock/1 at=place:sha256:1174d12f2ae2a254a43f949281a6897ccd70829cae733870e4a5aeccac0c9ba4 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=1174d12f2ae2a254 +bound-lock/1 at=place:sha256:11a4277b527060e695bb0e8ee5db9060d9ce9593acdbd56a3517ea87307f4563 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=11a4277b527060e6 +bound-lock/1 at=place:sha256:1a093c6caad96e66df86f982a2329a00f6d6e3f5e595da019f3078a349e1d98e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=1a093c6caad96e66 +bound-lock/1 at=place:sha256:1b9830fcbe2c4af9ca133143dac267f9b9c028e73265dfa4fee71c8dce736a97 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=1b9830fcbe2c4af9 +bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=1cbf56c90b7ec29d +bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=1f269aecce7112bd +bound-lock/1 at=place:sha256:2225f941b02ce3d296ada3989c560db1e43fe2a092d44b90e0bcc3c5bcbf0838 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=2225f941b02ce3d2 +bound-lock/1 at=place:sha256:2524d168214ffcb867547abb0a9a5e4f66a8fcbcc35dc8bd9eba8edbf921c294 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=2524d168214ffcb8 +bound-lock/1 at=place:sha256:287f72c7160f4513db0cbb35163348cf6f7f28c29b15d033e5a999c5b33dfd44 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=287f72c7160f4513 +bound-lock/1 at=place:sha256:3023746431a3fef4b1f699cd9bfcbe5fc4f6187230560700dd5c92bb9e442148 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07 value=3023746431a3fef4 +bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=3157ccea14f5068f +bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=31a0ab230b806e72 +bound-lock/1 at=place:sha256:3368849e8d5f74990be04689c5c91e3b362d352a326bd3ea37c041641e899a43 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a value=3368849e8d5f7499 +bound-lock/1 at=place:sha256:35bdab24b136482d4846ebb43f344e561365835237ec4b162c0e0b7a6f94dfea by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=35bdab24b136482d +bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=36444c5a44edbeef +bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/why value=39bd527b83de5558 +bound-lock/1 at=place:sha256:3bd7aac1fdcd840110fe6c8e3b5eb1d7192efacc34a6143e87d15b62f0cc34b4 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76 value=3bd7aac1fdcd8401 +bound-lock/1 at=place:sha256:3c6327ecf8471024ced932578a5eac82b35d54a7e5723b3ad26a8dbe39d8a5ab by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=3c6327ecf8471024 +bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=3d3be8f30b50072f +bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=3da5ff65b8cc8900 +bound-lock/1 at=place:sha256:3f246e3f83fa2cb8ea453946cece7d498db7e52ed327839a099008fb8f4ad7f2 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f value=3f246e3f83fa2cb8 +bound-lock/1 at=place:sha256:4561889c2183bfd4b1a3125bed3880a1784a583d4b1c1e3bc33decb0cd190561 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=4561889c2183bfd4 +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=observed role=writes scope= value=49d1f6cd13dcd803 +bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=4a2387015d00aba9 +bound-lock/1 at=place:sha256:4b19ed12bd54ac60ffd9b2b7fce5854b69c352a9d1296fa51ad668d713267350 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=4b19ed12bd54ac60 +bound-lock/1 at=place:sha256:5364e7b2cfd88beef996f96254cb4da7cf9596514d5e5e31cc8dea1269f54883 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=5364e7b2cfd88bee +bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/help value=5585f5c9e4776f2f +bound-lock/1 at=place:sha256:5aa46b6f0e2bb9f3fbb90c96a3e4deafae8820a7d6d4123c290cd0ac7aa03571 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 value=5aa46b6f0e2bb9f3 +bound-lock/1 at=place:sha256:5abf97496c554830bee00296b3bce4aa01592471f6bc49999cc7f1d37bcc464a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=5abf97496c554830 +bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=5afcca624aac00d8 +bound-lock/1 at=place:sha256:5ebf96e6f1f4fd7d863e6401b51b11aed4c62636d7ccbb3e54162ad561b6e62a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=5ebf96e6f1f4fd7d +bound-lock/1 at=place:sha256:5f301e069ed98f112381f9eec9361bfb77c980d625606123923d08826dcbc566 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d value=5f301e069ed98f11 +bound-lock/1 at=place:sha256:5fb37a66a72e4a6d33b213370e057328314d49729687a7594733acd140b8a1ba by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=5fb37a66a72e4a6d +bound-lock/1 at=place:sha256:6055472f34b7e24dfc694c4dbb9d53fc035b7e8e1f8ccba1b8ef798133e0bc4a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=6055472f34b7e24d +bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=634bb53f85b377bf +bound-lock/1 at=place:sha256:655feee785d7d8354c541a063247ff97e2b5a784b94fd67396b8705d9aec5a34 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=655feee785d7d835 +bound-lock/1 at=place:sha256:65f27f5fad36449ec62f3a58e89c54200d6658bd58fd5e4e22f552446d2bb910 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c value=65f27f5fad36449e +bound-lock/1 at=place:sha256:67750a8422df6e131cfeaf8ec54679cbbb6715184c546089a73c8b50cf391fbb by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=67750a8422df6e13 +bound-lock/1 at=place:sha256:67a6cb5ae03576d8770771ef0633064d8c419aae9401589acae7c0911e3e0c72 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 value=67a6cb5ae03576d8 +bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=6b4e041599e32aa6 +bound-lock/1 at=place:sha256:6b7fba3f6bd6da59eed288510c49cfa6f7ce5b55d7b278226d6e035fc204ff6c by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e value=6b7fba3f6bd6da59 +bound-lock/1 at=place:sha256:736b728540fdf1a6102632e2ef55ba2effc82bebba7b05cb31ef90a8208aad91 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1 value=736b728540fdf1a6 +bound-lock/1 at=place:sha256:7abf8445de1e6dcd30693d753d2566aa96f8629ebd2154f052da5da91e5a4140 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22 value=7abf8445de1e6dcd +bound-lock/1 at=place:sha256:7c82f3f176ca7d8fbef08ea2925826e01811ddabd17df1cc57a5c6c2d5c44c7b by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=7c82f3f176ca7d8f +bound-lock/1 at=place:sha256:7ccaedacfdd41bde557215c470db142e03994a93da3251b697757738b09b6979 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=7ccaedacfdd41bde +bound-lock/1 at=place:sha256:809f4239ec5a269893862e872e02271e719b2008f07eb97b1cc62b01a97a5907 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=809f4239ec5a2698 +bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=80ac8b80c0ed9cd0 +bound-lock/1 at=place:sha256:81c97327996305c6d71f4ed6d1531816bc6c9fa451e3fd53ec775382e080bb95 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=81c97327996305c6 +bound-lock/1 at=place:sha256:81f4ef568f9fe073365185f80626cbc0484a01d3e1d0e8b420941f87ac70cfa2 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=81f4ef568f9fe073 +bound-lock/1 at=place:sha256:821f66aff87c8ce366d6f64904274a818c534cf1239e4332e88d795d9ca60efd by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4 value=821f66aff87c8ce3 +bound-lock/1 at=place:sha256:82ee8b684a44a084c4aa44115f785582e675bc7b277ca71a642667daad193055 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=82ee8b684a44a084 +bound-lock/1 at=place:sha256:8353528069c95fc1fa5c4587f18d422fbf38ad4f6b1d099573f22c1a6baa704e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=8353528069c95fc1 +bound-lock/1 at=place:sha256:854f97543aaf958436839b45fd7b1ad3b5ed9bd8f1b0ede44206399094652a97 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=854f97543aaf9584 +bound-lock/1 at=place:sha256:85d6f9a34ed85101a1f066d9fd6d457a703383e280cbcb44551c6ebe4b5cf9b1 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=85d6f9a34ed85101 +bound-lock/1 at=place:sha256:8b5ca427158ec7ab8068166723d96711603ab037ab2e5d63bb383722a8606c0d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published value=8b5ca427158ec7ab +bound-lock/1 at=place:sha256:8b5f787ddc3f624abfee731fe65e298f4e5c7fd3491fa155babf0fd418cd217f by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=8b5f787ddc3f624a +bound-lock/1 at=place:sha256:8d928a2fa479c6e934533cb8ab9cce71b50710d28cc17e04aa8401feebbba757 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=8d928a2fa479c6e9 +bound-lock/1 at=place:sha256:8eef7f9daa85656bd8a0441a5795f2bc44b0d80ce281d09b52e7988fc417cbb5 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=8eef7f9daa85656b +bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=991c1088e4aed310 +bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=9b2fd16316689813 +bound-lock/1 at=place:sha256:a039d6613dfc0d439c46cb1ccc04254001548e63c09c14ec7e57d0289e442a51 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=a039d6613dfc0d43 +bound-lock/1 at=place:sha256:a2ff9f9520b572b4a0b3674deba6e5019ab4ff50a77cf949ee0b315c99a799d5 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=a2ff9f9520b572b4 +bound-lock/1 at=place:sha256:a393289751ebcdd30822ef770a7a0ddfd1b26b8ff842de358f9c7c68215ce4e6 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=a393289751ebcdd3 +bound-lock/1 at=place:sha256:a4ad5d2cbe164c51555b6639d9879020acdb019a77da3fb75959672b1a550d91 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=a4ad5d2cbe164c51 +bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=a7f4e2683fc92ac3 +bound-lock/1 at=place:sha256:ac2417df4bfdcf7e2d3126b322f518428aed04f764028f7d80eabe38177a7ef2 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc value=ac2417df4bfdcf7e +bound-lock/1 at=place:sha256:b2db194a17ba652f3365b0b235b10efd3438ec1f5fd35a3b910de29682eda067 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=b2db194a17ba652f +bound-lock/1 at=place:sha256:b514081ecb5313700e2bf9e78ce7df05755633582b1885cb16ca2d976d748e35 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=b514081ecb531370 +bound-lock/1 at=place:sha256:bbbf05d639a1c8dfaac36d73b9fa8f1aa5f60e28300ff5f92c90fc521d86265e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=bbbf05d639a1c8df +bound-lock/1 at=place:sha256:bce43ef91edecdd872fa747621c31d1b6bc21a959bee3446d9de2ea7fe6fe73c by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=bce43ef91edecdd8 +bound-lock/1 at=place:sha256:bd954278d397c353a78758aa064adbdcc15d229a72e67e57a8968476045d4b71 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 value=bd954278d397c353 +bound-lock/1 at=place:sha256:bfe186ff5f0771efee2a747badbf4a82f5373fe8e8e3a62e909786a70be0caae by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=bfe186ff5f0771ef +bound-lock/1 at=place:sha256:c635d34d5600eac1ff4915c8f405786f83576a5a595106c6b0aa12c44df86e4d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=c635d34d5600eac1 +bound-lock/1 at=place:sha256:c7b948e7881f8296121a86d3fc638923a800efac27d7ab6557d453f64414f9ef by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8 value=c7b948e7881f8296 +bound-lock/1 at=place:sha256:c8cdf216caf1af3e66c610ea5438c6960a9cec32f211d59dc45446fb4e7f0138 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=c8cdf216caf1af3e +bound-lock/1 at=place:sha256:ca72ed6c2c63cd434328425812003a657a62997cb9526eb0d4b64f2ff256e6ca by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455 value=ca72ed6c2c63cd43 +bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=cb81aff82c5e7a59 +bound-lock/1 at=place:sha256:cbbd4688a8914fb9209498720ece4594b930676fea5fbc42323467aba89c1b4d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=cbbd4688a8914fb9 +bound-lock/1 at=place:sha256:cc1da93de28da07b672384498ba9dece3cdf5c9eeb3d0765f3066186dfca87b3 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=cc1da93de28da07b +bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=cd4b67e24e7c0393 +bound-lock/1 at=place:sha256:d047b60f1a2dfc405bed2aa7d6af9b4b48f236a26657a470c00816f539f465fe by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa value=d047b60f1a2dfc40 +bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/card value=d277ac6dc03d933f +bound-lock/1 at=place:sha256:d3bb01758bb2a674d920ac12478ebb2952c37803369d8e630d71b541adcaf7a7 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=d3bb01758bb2a674 +bound-lock/1 at=place:sha256:d53dfc41d22a1a87029d5502489b6b15916981ee195e8e9e08eb283ce949771d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=d53dfc41d22a1a87 +bound-lock/1 at=place:sha256:d53dfe758e7ab9804588160fdca48e3e9277720f76bbefe62a988a55027e53eb by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=d53dfe758e7ab980 +bound-lock/1 at=place:sha256:d6462af89d2ec4504005c50e439f183d791e1e6897e3567c56bf1df769051255 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=d6462af89d2ec450 +bound-lock/1 at=place:sha256:d7c046112a13a08b512996117ebdf6452d546d85d22eb5d64bf1d8a656618b8e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=d7c046112a13a08b +bound-lock/1 at=place:sha256:dbefb8dc83ca8a704706790b274d25de5c9585f4e6cfab93c8c64dc41f507e5d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=dbefb8dc83ca8a70 +bound-lock/1 at=place:sha256:e1f4d3c0df436d00188e64c9625bcb891c22301e283af4a6c525a4f64346ed5f by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0 value=e1f4d3c0df436d00 +bound-lock/1 at=place:sha256:eb4b18dc18c9e707ea06b2ec560dd42fb4a9b0a5fdd2a7d0b5163d424555e579 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=eb4b18dc18c9e707 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=f1d013c03ce0199e +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=f1d013c03ce0199e +bound-lock/1 at=place:sha256:f31fc28346b049efe6e74321974fc8be315dec209607d749a467a8e730bb9f0e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=f31fc28346b049ef +bound-lock/1 at=place:sha256:f8bded190f3b2530badb05bb021fd4cb7a7bd0c9eca74ec237f1c1f166aa5c08 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002 value=f8bded190f3b2530 +bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=fc647e76d9ce4cd5 +bound-lock/1 at=place:sha256:fc723b0a44f4c5e161fade8770e158c58a0fb67d845908d30b254150f46b6c7e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=fc723b0a44f4c5e1 +bound-lock/1 about="bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:0b7a54498e516f738da1404af8718397d9de8a8d5a5631195a1a5875da6e4205 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:dbefb8dc83ca8a704706790b274d25de5c9585f4e6cfab93c8c64dc41f507e5d by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:35bdab24b136482d4846ebb43f344e561365835237ec4b162c0e0b7a6f94dfea by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/file-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/inputs/004-invalid.proposal value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:4b19ed12bd54ac60ffd9b2b7fce5854b69c352a9d1296fa51ad668d713267350 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:1174d12f2ae2a254a43f949281a6897ccd70829cae733870e4a5aeccac0c9ba4 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:1b9830fcbe2c4af9ca133143dac267f9b9c028e73265dfa4fee71c8dce736a97 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/query-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/query-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:8eef7f9daa85656bd8a0441a5795f2bc44b0d80ce281d09b52e7988fc417cbb5 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/inputs/049-undeclared-context-lineage.bound value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/left-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:bbbf05d639a1c8dfaac36d73b9fa8f1aa5f60e28300ff5f92c90fc521d86265e by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:c8cdf216caf1af3e66c610ea5438c6960a9cec32f211d59dc45446fb4e7f0138 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-7/TARGET.bound value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:0bd0e3e9079051d1c20b6215e50a70a377272ece67ca7d00ea5036af6352a45e by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:809f4239ec5a269893862e872e02271e719b2008f07eb97b1cc62b01a97a5907 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:bce43ef91edecdd872fa747621c31d1b6bc21a959bee3446d9de2ea7fe6fe73c by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:81f4ef568f9fe073365185f80626cbc0484a01d3e1d0e8b420941f87ac70cfa2 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts-changed/TARGET.bound value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts/TARGET.bound value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:8d928a2fa479c6e934533cb8ab9cce71b50710d28cc17e04aa8401feebbba757 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:11a4277b527060e695bb0e8ee5db9060d9ce9593acdbd56a3517ea87307f4563 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:854f97543aaf958436839b45fd7b1ad3b5ed9bd8f1b0ede44206399094652a97 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:7c82f3f176ca7d8fbef08ea2925826e01811ddabd17df1cc57a5c6c2d5c44c7b by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:8b5f787ddc3f624abfee731fe65e298f4e5c7fd3491fa155babf0fd418cd217f by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:81c97327996305c6d71f4ed6d1531816bc6c9fa451e3fd53ec775382e080bb95 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:d6462af89d2ec4504005c50e439f183d791e1e6897e3567c56bf1df769051255 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:eb4b18dc18c9e707ea06b2ec560dd42fb4a9b0a5fdd2a7d0b5163d424555e579 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:655feee785d7d8354c541a063247ff97e2b5a784b94fd67396b8705d9aec5a34 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=5..5 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:1f737ed22d12f99f26f2aa0252b0f68f2471f277a43e9f330eb6e9e6fe04e629\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive.md value=sha256:55540a934b3fe26d87d65e608754e50554424ea1e6d79bc7138bdeb4612c97c4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe value=sha256:f10d4eca89f4632ebdc30e326b074e6251e2e957f9f3cbd99813d88dc4bccfd4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc value=sha256:c133074502274a2c9beff36e95b580d2e2f2858080e69345d5671df3c536cc32\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4 value=sha256:9d9dc8223375cd92c32a3e7c8e88a950746845535cbde20e5d4de00704d50b29\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c value=sha256:7b08b65c5754b8f18b8ac5ba242742dbfc121e9d7d13f37a2c20084608962b2c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/artifacts-changed/TARGET.bound value=sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/artifacts/TARGET.bound value=sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/archive-conformance.json value=sha256:2b7ed94d33ef033a2e883665657202220638e17f868db67114fde6a2c84e9011\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe|execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc|execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4|execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c role=reads scope=contract/published/pipeline/archive value=docs/contracts/archive-conformance.publication.json|docs/contracts/archive.md|samples/artifacts-changed/TARGET.bound|samples/artifacts/TARGET.bound|vectors/archive-conformance.json\n" at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:864e56b4754bfc8646fc23826ef173eefb20d743a34633e5ca1d3ce8b3d8a0bd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:c601e3b472960cfcf46bc4b6dd356716ddd490969686068d894ab246a92a5e30\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:e54f510db0e2a045ac1fef36b149f18adcc6569b09d102eaf3805ee0e2d5fab0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.publication.json|docs/contracts/cli.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:519315b105180ad63b741e8d6367d884fa254403b26f770e97ad111127c5ad49\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.publication.json|docs/contracts/cli.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:3483a80c71ca34acfc060fa2e1e6f4d5675fec9d08874025a8ab9c1ee9ad7a9e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 value=sha256:83c0089c537fb719c2e4186094e577312f2f1940448fe7f82dc531b0ef787821\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/signing-port/file-1/TARGET.bound value=sha256:2bb37c9ef367c011823b421d9f335ecdb8e3df6c4a14b80bc66fa3667e54518f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/signing-port/inputs/004-invalid.proposal value=sha256:ff12e46709bb66c0d73db3230bb3cc93fad7a280097f0125bfb8271b351acc2f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:32eb52e0426ec47cd24d189158a3e151d259bbcd16bfdbed4f0582b216b202d1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.publication.json|docs/contracts/cli.md|samples/signing-port/file-1/TARGET.bound|samples/signing-port/inputs/004-invalid.proposal|vectors/signing-port.json\n" at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:213f035c70cd4f4deb30f0e54d7ccc320a31d7fc58ff1e08327d0389c1c24eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/citation-file value=docs/contracts/documents.md|docs/contracts/view-citation-file.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:feb84d6e33f610bd0d71e3f0625d11842954ed6c20685e175e4286d172b72af4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/explanation value=docs/contracts/documents.md|docs/contracts/view-explanation.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:f5239a9ab2098593978e8dc42203354b58b7a1c7829f28130169ea13fbfa6b10\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/guide value=docs/contracts/documents.md|docs/contracts/view-guide.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:ad9f9e92b68fd251846cb5412f1a633ef08e23e279463571a6f8daa470bf94aa\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/manifest-render value=docs/contracts/documents.md|docs/contracts/view-manifest-render.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:cf38ccb9bf3090e0bfaa70e1751b83d773f2f7a7ca8662320b942a8c2f01739b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/readme-historical value=docs/contracts/documents.md|docs/contracts/view-readme-historical.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:2974e2b8f9220dc22ab8e95573dd2919dba638e561fda90f330b3b044c4c67ec\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/reference value=docs/contracts/documents.md|docs/contracts/view-reference.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:4096102aa9c5382b11329fdd463ec3fba4f81331f6e9089b7096c88023811389\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/documents.md|docs/contracts/view-release-workflow-render.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:33ff7c7914bfabb6c25a3fc14d826e6fa94f1bef1c672e0bde2a594d3e1fe2ef\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/tsconfig value=docs/contracts/documents.md|docs/contracts/view-tsconfig.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:d3550cf94df32dd08ffcf83ffc6b8d3e1bf07646ab6b47b5e07d62490124fd5f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/usage-profile value=docs/contracts/documents.md|docs/contracts/view-usage-profile.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:d6ee08ec2b339c9d9ca969452b8ed160b72c7aeb3904fd29b7259c0eecc008b3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:8bde3a941a1e7f4c4f48beb9f1ef1eaf12c29d2a7b23c8f0906b5eaf86f1783c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e value=sha256:6593d956ac281b7a9c92e6403384f9277e277a227729995c29c42f397f287eb0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002 value=sha256:539293014912ac0194746ff2e548decad1eda14f8a73525a9945865b4582f76c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1 value=sha256:63e651b207fb487582f29a7bb6bbedfd03b62b2877ae0fcfebcc19f0434a6547\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07 value=sha256:49db7929a22ce08b2f003e61c33d248a5311983b807474f9a472be3317e7581c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76 value=sha256:df007d6dd64c067a101af7e044dd5fe353bb18520177f5c22ca440e174f993e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22 value=sha256:dd493c8eab36c3e4b71d043d79a5e4c9a1fc836dcb066a7d01da60380fb75112\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 value=sha256:2e4d5cc1952ca5e37455de5fac85bb3cad36af31c8515aa1ee60e82304591339\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/typed-object-1/TARGET.bound value=sha256:20ffddf05e09a2d4e9c71c344de687ded6bbe59534a842b2a1ef24e4a7cadabe\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/typed-object-7/TARGET.bound value=sha256:8fbf56bc1bb119fcbe05cc158e55317092867b1a64c4acc10a91084d7143a898\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:df8a4e35a2ac0dc5679ce1416860931c98d8ed565b27fb28fb676a81f06bbe92\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e|execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002|execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1|execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07|execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76|execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22|execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/typed-object-1/TARGET.bound|samples/typed-object-7/TARGET.bound|vectors/typed-object.json\n" at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:9147692de1a14ab6e8d01a089fe962ad3b6a3e2dad22061857dcf49a3f80dbc1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=sha256:c524e2998d4be99fdf8b8ee05397c5cf750165840f2e482691f63c6d33139013\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=sha256:e3dcfb5d1ae00f5f5b607c2ffc2b0149dd8341b4d322dd9fd590dd1eb685d9ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=sha256:d47c4640be7e977e30f50baaa407308471ec030afaea15c3ab7da0912b901086\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=sha256:3d10c926cc573b445c343f84280ad40231f069616f38d5136d95c59de758f689\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=sha256:6de0947f117a3f78cdb4c8211be6d670b67c1e6a9abd8cb5166cc13c248207e2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=sha256:8c14ce13230a895e3ae4a7153431aab48c38ba39489196405a3ebf8d58753a4a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=sha256:97bed3a3d1c5cfa0042a6c4382dd7f122cd3ae91e887644e3cdf14c1f91e31ad\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=sha256:05658f47a5f3e60f3458310e86cef5483ec641e25f01a3f4c0f21feded739e90\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-1/TARGET.bound value=sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-2/TARGET.bound value=sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc|execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7|execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727|execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694|execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a|execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84|execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57|execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 role=reads scope=contract/published/view/card value=docs/contracts/view-card.publication.json|docs/contracts/views.md|samples/program-views-1/TARGET.bound|samples/program-views-2/TARGET.bound|vectors/program-views.json\n" at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:22c068fd203a09e370456ecdec016a80e7834b80e38d0edd32dfc2241098fc14\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/view/help value=docs/contracts/view-help.publication.json|docs/contracts/views.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:edfc78496423b8e58e829249528feb245112d856ab71578afc3dbfada841c047\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.publication.json|docs/contracts/views.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:c11d95f7902d59460e74bc93edf436f6891db942fbc683bb4b127d81c320919f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=sha256:c524e2998d4be99fdf8b8ee05397c5cf750165840f2e482691f63c6d33139013\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=sha256:e3dcfb5d1ae00f5f5b607c2ffc2b0149dd8341b4d322dd9fd590dd1eb685d9ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=sha256:d47c4640be7e977e30f50baaa407308471ec030afaea15c3ab7da0912b901086\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=sha256:3d10c926cc573b445c343f84280ad40231f069616f38d5136d95c59de758f689\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=sha256:6de0947f117a3f78cdb4c8211be6d670b67c1e6a9abd8cb5166cc13c248207e2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=sha256:8c14ce13230a895e3ae4a7153431aab48c38ba39489196405a3ebf8d58753a4a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=sha256:97bed3a3d1c5cfa0042a6c4382dd7f122cd3ae91e887644e3cdf14c1f91e31ad\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=sha256:05658f47a5f3e60f3458310e86cef5483ec641e25f01a3f4c0f21feded739e90\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-1/TARGET.bound value=sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-2/TARGET.bound value=sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc|execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7|execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727|execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694|execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a|execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84|execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57|execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.publication.json|docs/contracts/views.md|samples/program-views-1/TARGET.bound|samples/program-views-2/TARGET.bound|vectors/program-views.json\n" at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:0495f87f274e5204fa2f535a1afc29bb4281c0422485087252d84b52b983df43\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.publication.json|docs/contracts/views.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:f5b6a93ec8cbdd348ddbd0e1cca9f627afcf24214b0114f652b23e92e9de5a54\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8 value=sha256:b97e2b1bf32bec9895c7f94588abcd9b8a9f9058b249f672c33840f1b1bb8f54\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 value=sha256:e2936a2056f608ea6f369276a4f6ee78278ab78bdc8177704e71a63f70b7b9c1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/walk-publication/inputs/049-undeclared-context-lineage.bound value=sha256:205584e98246abb9f6e273c26ee83e145640b5d3f64ec2f513c847c909d66e4f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/walk-publication/left-1/TARGET.bound value=sha256:d7e7e89d222c81ec003ceccd095b3f5aaa30a3b19b2d2972c5c89554f3549e03\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:b89667bfd666d39a2432ba236144c98ff30c885adec6525fa658d08fc281ede9\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8|execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/walk-publication/inputs/049-undeclared-context-lineage.bound|samples/walk-publication/left-1/TARGET.bound|vectors/walk-publication.json\n" at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:c0a68c266de6e8ee83a51a75f4d065e510f6ebf19a44ca749d7f73c13647128b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0 value=sha256:89beef3591d30bd5dcc941dc0415bfd692712a92a9c91f5af1724d65e9700f70\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a value=sha256:5b0ae16116fb034985de3743e3520782e8067be07440cc374c4b210b0e9de17f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d value=sha256:1399afa50fdc7dfabcf98ba0670519763faa0086dc3a31f63fe88d67074fbe79\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f value=sha256:5a695a1a7ebb048f00d6b788f8de6cf0c6f84f7494e1f0791f8bed75a61cfa64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455 value=sha256:601285a8a2882fb3ee7b734d8e8b39916db3973ce1c18974dfc6f484cc83954f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa value=sha256:c90e620048c8fad1e1b6b3c4b7d13df359b64c5448ae3b77641b3bd998108871\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/query-views-1/TARGET.bound value=sha256:eb0000cabe3582b4e762923bd7559ad27f8053743f990e925fd0d7e74a89e4b2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:238c34575217eaf2e5e61d893def730002942c1b10c5c68581d60d8ebf7ee58b\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0|execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a|execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d|execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f|execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455|execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa role=reads scope=contract/published/view/why value=docs/contracts/view-why.publication.json|docs/contracts/views.md|samples/query-views-1/TARGET.bound|vectors/query-views.json\n" at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 +bound-lock/1 at=place:sha256:0083bd880b3d85f725f452de0790a00d267a761428592d693e42d4415a731755 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=0..0 +bound-lock/1 at=place:sha256:05bcfaa660c331766d25571f03ff0ff9c2e86da7f54fce6b321a80f0df15b4cc by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe value=0..0 +bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 +bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=0.265251..0.265251 +bound-lock/1 at=place:sha256:0c8cfb2dd9cd6007956543f95044a01a381134d81572a16d8f883bbc13d35177 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=0..0 +bound-lock/1 at=place:sha256:106874c37ec7f7ca6c4c00731a2deaba26a361c2250088ffdd25ba63af2f7efd by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=0..0 +bound-lock/1 at=place:sha256:1a093c6caad96e66df86f982a2329a00f6d6e3f5e595da019f3078a349e1d98e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=0..0 +bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 +bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=0.260357..0.260357 +bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met +bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 +bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=0.279204..0.279204 +bound-lock/1 at=place:sha256:2225f941b02ce3d296ada3989c560db1e43fe2a092d44b90e0bcc3c5bcbf0838 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=0..0 +bound-lock/1 at=place:sha256:2524d168214ffcb867547abb0a9a5e4f66a8fcbcc35dc8bd9eba8edbf921c294 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=0..0 +bound-lock/1 at=place:sha256:287f72c7160f4513db0cbb35163348cf6f7f28c29b15d033e5a999c5b33dfd44 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=0..0 +bound-lock/1 at=place:sha256:3023746431a3fef4b1f699cd9bfcbe5fc4f6187230560700dd5c92bb9e442148 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07 value=0..0 +bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/file-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/inputs/004-invalid.proposal value=met +bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met +bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 +bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=0.260133..0.260133 +bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 +bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=0.263517..0.263517 +bound-lock/1 at=place:sha256:3368849e8d5f74990be04689c5c91e3b362d352a326bd3ea37c041641e899a43 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a value=0..0 +bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met +bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 +bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=0.277143..0.277143 +bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/query-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met +bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 +bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=0.260961..0.260961 +bound-lock/1 at=place:sha256:3bd7aac1fdcd840110fe6c8e3b5eb1d7192efacc34a6143e87d15b62f0cc34b4 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76 value=0..0 +bound-lock/1 at=place:sha256:3c6327ecf8471024ced932578a5eac82b35d54a7e5723b3ad26a8dbe39d8a5ab by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=0..0 +bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met +bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/inputs/049-undeclared-context-lineage.bound value=met +bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/left-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met +bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 +bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=0.289072..0.289072 +bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met +bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 +bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=0.288718..0.288718 +bound-lock/1 at=place:sha256:3f246e3f83fa2cb8ea453946cece7d498db7e52ed327839a099008fb8f4ad7f2 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f value=0..0 +bound-lock/1 at=place:sha256:4561889c2183bfd4b1a3125bed3880a1784a583d4b1c1e3bc33decb0cd190561 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=0..0 +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/org value=none +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/path value=none +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/host value=0..0 +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/key value=0..0 +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/org value=0..0 +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/path value=0..0 +bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 +bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met +bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-7/TARGET.bound value=met +bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met +bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 +bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=0.258128..0.258128 +bound-lock/1 at=place:sha256:5364e7b2cfd88beef996f96254cb4da7cf9596514d5e5e31cc8dea1269f54883 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=0..0 +bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met +bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 +bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=0.278634..0.278634 +bound-lock/1 at=place:sha256:5aa46b6f0e2bb9f3fbb90c96a3e4deafae8820a7d6d4123c290cd0ac7aa03571 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 value=0..0 +bound-lock/1 at=place:sha256:5abf97496c554830bee00296b3bce4aa01592471f6bc49999cc7f1d37bcc464a by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=0..0 +bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 +bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=0.257451..0.257451 +bound-lock/1 at=place:sha256:5ebf96e6f1f4fd7d863e6401b51b11aed4c62636d7ccbb3e54162ad561b6e62a by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=0..0 +bound-lock/1 at=place:sha256:5f301e069ed98f112381f9eec9361bfb77c980d625606123923d08826dcbc566 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d value=0..0 +bound-lock/1 at=place:sha256:5fb37a66a72e4a6d33b213370e057328314d49729687a7594733acd140b8a1ba by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=0..0 +bound-lock/1 at=place:sha256:6055472f34b7e24dfc694c4dbb9d53fc035b7e8e1f8ccba1b8ef798133e0bc4a by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=0..0 +bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 +bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=0.260703..0.260703 +bound-lock/1 at=place:sha256:65f27f5fad36449ec62f3a58e89c54200d6658bd58fd5e4e22f552446d2bb910 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c value=0..0 +bound-lock/1 at=place:sha256:67750a8422df6e131cfeaf8ec54679cbbb6715184c546089a73c8b50cf391fbb by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=0..0 +bound-lock/1 at=place:sha256:67a6cb5ae03576d8770771ef0633064d8c419aae9401589acae7c0911e3e0c72 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 value=0..0 +bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met +bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts-changed/TARGET.bound value=met +bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts/TARGET.bound value=met +bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met +bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 +bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=0.252586..0.252586 +bound-lock/1 at=place:sha256:6b7fba3f6bd6da59eed288510c49cfa6f7ce5b55d7b278226d6e035fc204ff6c by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e value=0..0 +bound-lock/1 at=place:sha256:736b728540fdf1a6102632e2ef55ba2effc82bebba7b05cb31ef90a8208aad91 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1 value=0..0 +bound-lock/1 at=place:sha256:7abf8445de1e6dcd30693d753d2566aa96f8629ebd2154f052da5da91e5a4140 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22 value=0..0 +bound-lock/1 at=place:sha256:7ccaedacfdd41bde557215c470db142e03994a93da3251b697757738b09b6979 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=0..0 +bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met +bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met +bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 +bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=0.279959..0.279959 +bound-lock/1 at=place:sha256:821f66aff87c8ce366d6f64904274a818c534cf1239e4332e88d795d9ca60efd by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4 value=0..0 +bound-lock/1 at=place:sha256:82ee8b684a44a084c4aa44115f785582e675bc7b277ca71a642667daad193055 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=0..0 +bound-lock/1 at=place:sha256:8353528069c95fc1fa5c4587f18d422fbf38ad4f6b1d099573f22c1a6baa704e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=0..0 +bound-lock/1 at=place:sha256:85d6f9a34ed85101a1f066d9fd6d457a703383e280cbcb44551c6ebe4b5cf9b1 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=0..0 +bound-lock/1 at=place:sha256:8b5ca427158ec7ab8068166723d96711603ab037ab2e5d63bb383722a8606c0d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published value=0..0 +bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 +bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=0.255500..0.255500 +bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 +bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=0.260028..0.260028 +bound-lock/1 at=place:sha256:a039d6613dfc0d439c46cb1ccc04254001548e63c09c14ec7e57d0289e442a51 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=0..0 +bound-lock/1 at=place:sha256:a2ff9f9520b572b4a0b3674deba6e5019ab4ff50a77cf949ee0b315c99a799d5 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=0..0 +bound-lock/1 at=place:sha256:a393289751ebcdd30822ef770a7a0ddfd1b26b8ff842de358f9c7c68215ce4e6 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=0..0 +bound-lock/1 at=place:sha256:a4ad5d2cbe164c51555b6639d9879020acdb019a77da3fb75959672b1a550d91 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=0..0 +bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 +bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=0.259043..0.259043 +bound-lock/1 at=place:sha256:ac2417df4bfdcf7e2d3126b322f518428aed04f764028f7d80eabe38177a7ef2 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc value=0..0 +bound-lock/1 at=place:sha256:b2db194a17ba652f3365b0b235b10efd3438ec1f5fd35a3b910de29682eda067 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 +bound-lock/1 at=place:sha256:b514081ecb5313700e2bf9e78ce7df05755633582b1885cb16ca2d976d748e35 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=0..0 +bound-lock/1 at=place:sha256:bd954278d397c353a78758aa064adbdcc15d229a72e67e57a8968476045d4b71 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 value=0..0 +bound-lock/1 at=place:sha256:bfe186ff5f0771efee2a747badbf4a82f5373fe8e8e3a62e909786a70be0caae by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=0..0 +bound-lock/1 at=place:sha256:c635d34d5600eac1ff4915c8f405786f83576a5a595106c6b0aa12c44df86e4d by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=0..0 +bound-lock/1 at=place:sha256:c7b948e7881f8296121a86d3fc638923a800efac27d7ab6557d453f64414f9ef by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8 value=0..0 +bound-lock/1 at=place:sha256:ca72ed6c2c63cd434328425812003a657a62997cb9526eb0d4b64f2ff256e6ca by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455 value=0..0 +bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met +bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 +bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=0.283167..0.283167 +bound-lock/1 at=place:sha256:cbbd4688a8914fb9209498720ece4594b930676fea5fbc42323467aba89c1b4d by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=0..0 +bound-lock/1 at=place:sha256:cc1da93de28da07b672384498ba9dece3cdf5c9eeb3d0765f3066186dfca87b3 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=0..0 +bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 +bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=0.262450..0.262450 +bound-lock/1 at=place:sha256:d047b60f1a2dfc405bed2aa7d6af9b4b48f236a26657a470c00816f539f465fe by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa value=0..0 +bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 +bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=0.257875..0.257875 +bound-lock/1 at=place:sha256:d3bb01758bb2a674d920ac12478ebb2952c37803369d8e630d71b541adcaf7a7 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=0..0 +bound-lock/1 at=place:sha256:d53dfc41d22a1a87029d5502489b6b15916981ee195e8e9e08eb283ce949771d by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=0..0 +bound-lock/1 at=place:sha256:d53dfe758e7ab9804588160fdca48e3e9277720f76bbefe62a988a55027e53eb by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=0..0 +bound-lock/1 at=place:sha256:d7c046112a13a08b512996117ebdf6452d546d85d22eb5d64bf1d8a656618b8e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=0..0 +bound-lock/1 at=place:sha256:e1f4d3c0df436d00188e64c9625bcb891c22301e283af4a6c525a4f64346ed5f by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0 value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" +bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" +bound-lock/1 at=place:sha256:f31fc28346b049efe6e74321974fc8be315dec209607d749a467a8e730bb9f0e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=0..0 +bound-lock/1 at=place:sha256:f8bded190f3b2530badb05bb021fd4cb7a7bd0c9eca74ec237f1c1f166aa5c08 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002 value=0..0 +bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met +bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met +bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 +bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=0.265955..0.265955 +bound-lock/1 at=place:sha256:fc723b0a44f4c5e161fade8770e158c58a0fb67d845908d30b254150f46b6c7e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=0..0 bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=status role=writes scope=law/a-fact-is-a-printed-line value=present bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=cone role=writes scope=law/a-fact-is-a-printed-line value=samples/yes/a-fact-is-a-printed-line.json|samples/no/a-fact-is-a-printed-line.json bound-lock/1 at=cone:957f15a6bf76172db7ad6fc3ad985d3a2d29d53b0d7f26496278534a6b27eaa5 by=judge form=alphabet measure=status role=writes scope=law/a-refuse-plants value=present @@ -290,57 +381,57 @@ bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f1748464 bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f17484642a79e by=judge form=alphabet measure=cone role=writes scope=view/release-workflow-render value=.github/workflows/release.yml bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=id role=writes scope=view/usage-profile value=text@3 bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=cone role=writes scope=view/usage-profile value=docs/usage.md -bound-lock/1 at=place:sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa +bound-lock/1 at=place:sha256:33c3e9e76e221cd7801920a97c689240b3d55c6c59cc7d9532fcb5f256ccaaf6 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:33c3e9e76e221cd7801920a97c689240b3d55c6c59cc7d9532fcb5f256ccaaf6 -bound-lock/1 at=place:sha256:6ff80b89e3704e72e5950afddacae31aea57d274d0d0e38865386cc4ae5db1a1 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:a130a36b86251f6e315bf9188bb950ad6fca5ad2779402f60e23263fb62b552a +bound-lock/1 at=place:sha256:7a8f3e1b7b830565da542c2991213dd1eacb50e0380d58cd07b77d561a2ce8c8 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed6fc8f76a03c9ceec622529f5303330a6c8a06004d59a84484cc3216b149198 -bound-lock/1 at=place:sha256:3b3d39edf4587b94b3486f8fa864c21892b757c9d8c2e6a9a1ab5963ff849bba by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 -bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 -bound-lock/1 at=place:sha256:6ea00fe75e77dd8e5ae6b19d5bc5331bb5f7da7f3040af6c088d24971c95506a by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 -bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 -bound-lock/1 at=place:sha256:e28f4a732376af3b91d9820131ec0fea2d3f814f66904a882257b59b1d5ec3e3 by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:1b402f9910292cedfa38afcc3abe2f288263ebbee9733fd8590ec1398991d930 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:2209d76ea55d9537ffc5e24bb674b0cf396d1e13696aa6b5553cf852b612b732 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:05c8e941784d1f631e42278c37715c9ef9a9755e71bf99c36c0155f45ded8de9 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:9caf5678b5c72882aaf52eb10a442b433c675cb2966fbec1a0dcc613d1a0c4cc by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 -bound-lock/1 at=place:sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 -bound-lock/1 at=place:sha256:aca94c640be46f4f5a4e536549d2f3c72a1881a686a137d0e5c0a1254e595d00 by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:14efce37002fcf7059ba79f536b5977dec16b6a3f420c9ece61c188f742405ef by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:4d11cf355b6e3095ede19601c21191720bf4332d8c466046ef1c66bf4b68b9eb by=bound form=interval measure=count role=writes scope=receipts/execute value=8..8 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:792cf4f8e792f74be2d68726ea20d0a44c3c29894a5dd45f69db45575b2c4fed by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:54a1aa95180da1823567572736a95624f73abf2d449e10e552c65ce6d506e086 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:7fc0a95c53f57674f240c91a742e3ea7c55a9527ef56ff587d65e6804d01765f by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 +bound-lock/1 at=place:sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c +bound-lock/1 at=place:sha256:29c2f00048b02e0020e38b0755ff5ffea41dad39fcb89059dd46c7029fb1597a by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 +bound-lock/1 at=place:sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c +bound-lock/1 at=place:sha256:805a9d404319e6d820fb9dc36575549aca976af8e08af7f51f32dcb5674bdfeb by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:99ce1e364b93bedf7c78f4253ac624ebc941b95ebf89d2910fddea3eb157dfe8 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:19c93b0d4eeff93508ab0f8f48e0212e1903ba56b8d9e3ba5d2cc12b789b7d17 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:ab496bca35fb3b60f3caa676bf0d8242a48da247b3606036871c8b339e0c4254 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:61f1b1b99c84538f8f1f5998b59092f5bbaa330fca9bb816ce91c5ff470ddb3f by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 +bound-lock/1 at=place:sha256:43481f248feb0d4477a24c806edb3541a95a29984ff97e1ac9cd34a8765bf518 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:43481f248feb0d4477a24c806edb3541a95a29984ff97e1ac9cd34a8765bf518 +bound-lock/1 at=place:sha256:d9629d357bc4c368a58d42e7d17473b0453f033ecd44ad22de65b6b8ac52ce2c by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:dbd7aa4f43a685437d717a015bb8c25040792f708ac5d71146415db7ce89e821 by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:232555574185f564dba95a2e0720d0f18e21ef9a06f432050878731a5db46500 by=bound form=interval measure=count role=writes scope=receipts/execute value=54..54 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:ec48820ae8c12dc2aa3ee5bc646fccaa56caad8cb9fd04ec09286695a4067c37 by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:b76a4f424eb5435586fa3ecbc21bf65e1070923378446183fc6d6eb0ed3875e3 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f bound-lock/1 at=place:sha256:24023fde10bc3f5ad0c60d2b04cca3907b111a5431c6d6f0fc1171a9c3a67c8c by=bound form=interval measure=count role=writes scope=receipts/law value=10..10 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:1e455d16eae3f8af6ec0572b277acd383acbc15797955332f993ce9a75ed8303 by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:19fb1641fca77d7d8ce0ed6797c03b64f4704ebd1297cf34ed2dc3e39ae5a897 by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:c69219e03418aef9a6fdec1279c4c1a7a04cdc03b1f5df113b46659c78ed5a9b by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:60757662e0989df1c0b2b14ebde02148eb13f1ea9abd191f0ccd2dac22ae3c5b by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:567e86393603a36f9ad7d3d58dfb59d88eb88756003ee41ce3164d8d5f21195c by=bound form=interval measure=count role=writes scope=receipts/proof value=8..8 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:7f26b5d0a88d9ff21dea731a4a48f405311af450744e0f80c3e614acf1aafae3 by=bound form=interval measure=count role=writes scope=receipts/receipts value=88..88 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:bba2c1d6191f67318ec35a187171e2df4f4d6b8b337e10fc2dd015cc7f733b9a by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:5208d5afe14557d699922e705563f09a3984a52914137edad9a0131c3a12794b by=bound form=interval measure=count role=writes scope=receipts/samples value=44..44 -bound-lock/1 at=place:sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a -bound-lock/1 at=place:sha256:4b33d417a5bf1d38c2e54272a5d73b86971166d546620d9ea7b9fb72c579368b by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:483602dc2e165aa25f851cc40c233a0f675eebab7a40ae87fb6e23a527a94e26 by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:d96f2e4c2bdbbf99706ba9c51166874fb4ed9c7fd06c30784e5c633b1dabd0de by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 -bound-lock/1 at=place:sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:73fc3919181a0b8d80f9d6245ece29e10def1c375e7465f13333022762bf7f8d by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:5a5d6a2dfc4e55a37c40cdddb9e0df910e22ebd1c40150dd1727214538c58e13 by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:5289922a4e98fbf39c78ebd084a9fbc9d1dd137e34cc12562d3eadd305a68da9 by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:44be7c8f47c574f6b9f24cc01bf30fe28ff22ceb260fe427ac0b90842755febe by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:03b7b88844f771ed190a55d71359a4446eef555b6c59d3f168c5ce8db8dc8253 by=bound form=interval measure=count role=writes scope=receipts/proof value=54..54 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:a0c8687c91fffdd14ad592302a71d9e8c379ac71d0c5d88e4ea45488ff1b1a58 by=bound form=interval measure=count role=writes scope=receipts/receipts value=88..88 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:ebb208a643db242b2413a8a6b5032baa7c50af4f61eb614b335a26b8c4e3f5cf by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:39780e005b2d6458f41c93479bbbdb2d296b05fa5e6e6ab79b76539220c39678 by=bound form=interval measure=count role=writes scope=receipts/samples value=43..43 +bound-lock/1 at=place:sha256:ac8137c6f32a84eb2b00da86567a16db682499a8938453cb0ae809f6a12c424a by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:ac8137c6f32a84eb2b00da86567a16db682499a8938453cb0ae809f6a12c424a +bound-lock/1 at=place:sha256:349ada274bc68c32b224038dd28009b95ccd50b0d9368cd06561925760623886 by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:c9bcda14a15517369315ee4b5813e22eb536b420efc61ae7d8db1895b2362fac by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:c3403d9c6d6cdddab8faad47739dc8d905bbed9f2fe12a2d44a0832e28239ae4 by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 +bound-lock/1 at=place:sha256:73d263e27dac0af2913e6f6b8e7c3196d4edd90382c35fbbae65d9bcb41b89a9 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:73d263e27dac0af2913e6f6b8e7c3196d4edd90382c35fbbae65d9bcb41b89a9 bound-lock/1 at=place:sha256:1c9ee8060471185a172fbe44aaa8f375282fad5c1550160adbb180cded3bb2b5 by=bound form=interval measure=count role=writes scope=receipts/view value=16..16 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f diff --git a/samples/artifacts-changed/TARGET.bound b/samples/artifacts-changed/TARGET.bound new file mode 100644 index 0000000..5b443ad --- /dev/null +++ b/samples/artifacts-changed/TARGET.bound @@ -0,0 +1,112 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:c0de1512ad0955fb6f6ae69567ca0912992f3b3e865f82446d432f74eeedc2cd role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b role=writes scope=dep/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b diff --git a/samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b b/samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b new file mode 100644 index 0000000..bb09c46 --- /dev/null +++ b/samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b @@ -0,0 +1,6 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=alphabet +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** + diff --git a/samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/artifacts-changed/fixtures/history.txt b/samples/artifacts-changed/fixtures/history.txt new file mode 100644 index 0000000..2fd6bef --- /dev/null +++ b/samples/artifacts-changed/fixtures/history.txt @@ -0,0 +1,51 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:fsoKXn3O1TzizAkR00e09j2kWLHAwqyWdZxiVyiy4L6KLEl4/htzACoNxGMTANeoVdiy79Fx3nFda6A2q+oUBQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:7eqvdrWhRnOvOwKIhdgZYu13ZE0RB2Vgt/PMTu016qsFO3NVhWJYmwXlklNGuCCJN85Yng3bKqEAWtqbh3b5AQ==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:WNs0nnDRESiY5fGI9tV8MN/PTQO7XfqlxL+p3xoiY1/I3yNnCzhnUq7eNvZwl+fRWY1LF0vqsjzD3FUTG9jxBw==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:MGf3ndDGNNTfp+qks4Cus9CbskelLA2Qm6HarY1KpwEYRB42JUBBKmtg8QmFeESJtR9fXE5cCJwyqw4fGh6pAA==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:qK2Q80J7vsMqBCBnWnrQLqLqcP6ZpHsjhGHwAlXMA2oz5LOTrW8yjRN9OiD+qOqo5PJZdqC44DJYoQyxhE0lDQ==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:wlKgtlzM5UdsSEvViR1l3X+ZHIODDH3RiWBnqfHAYTNdLqyrIdoLJioXE3jEgCatjI3y4uaT/duAhmhUcTZdBg==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:yrGJ7ga1azQlT85jxe/MsvkQDTVZzxEU+jBeJQ7APqQZqs4c79/5O1TTngFjQJVDJUqnjyrkZKRKB/gd4VmDBg==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:E4uCB2jYEza2vvX+lad/BMAipp1Kk92dx+DtkwPFfa+grG2oSSUZ/Z3kKWB946g9v3KNyBiUTBzJGr8PuXYyAA==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:A8rSpxhsp0wCrjEYTlKSCkFTw6Zj2BtseIM9FACoWA1+Q080q8QFjxHWSwlSGSktrGtJf+7RyRQ/xpdGpaqiBQ==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:16csW4Ea6oPKDSL23Arl9i4jaGsdKBsr6gJ+VV+QeNLW7HCQCGm5h1jnTLgR8SUZ+Og+TohkVJRCVS2hllLpAA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rdQJUBtU8Fd6LQIe14kfgR2eEs8Wl79vNweEHYyvQ3Qn+s6iKR6wosoThbDrLcWOnJP+TrXbD6wDOvkDolozDQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:/snjQJa9r7jlTAT8LVW2mwzaFPcmmb8xtK4TU66sVk8fejmWYrtUppyUUioFDrwqhhJHEdqn9AHWCG6kbb7XCA==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:gfTlcqV5+7KEiZn0GxFVMEqFButn0n8VDcc2TmMVdr4TQqcmUoAF/YVBeypFALfyPJMfBXTvcBqAj4dHhSSeDA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:e1UqHxqwIScoyiuy95XamXlll79tXD3Mabci8zIRrtboopGcXSp6Gc18saZboRdH1lfpLPVO7YIKX9xOx71bDQ==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:KPMtNxch7mmqOajlYvI4JNWO5NeL2oqyl2YSkmMTBNDiNVm18MkPO4O+J2VB2EzDb1LQgiDT7KJDbS6UubUkCg==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:Ct/oVm2ARJUn05K8/Rxzu9ymLWiYPh/QqAMUOdGg6dc3jjh0iYYBK7DI8K44LAWCSkNAdYOmd/JDs22luLH4BQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:7q8e6wID2ao9bIIQAA+g7T9cH3ANTmfAIiFyZY2cqxBn51ehoPAX5zAXqlXrOHdgUt60/mHBTDRTssKTytjXAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:PkKJkVAPyU5wEP5cnrSJ0FfNAknLyvAo27P0PfTA0KKQxyaYgqX92shfyUa99Yiyx+GfwnzFEkzpF9PyM9PsCg==" value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:lcFw6pgCrEsppizHePIKypcdN0oY/nyr9k9tZ7/RycbuCt49nypvcd0Pa4GEHTgZFCauXn28qTA3OXH/pkanAw==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:/zZKzSxDkS5PiyKzox4oqZz38nc4ikBp8j7r1S4fECNGU0+aVH457wWLtz74we1NeZP2CebgP0rgPKw6xXWsDg==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:sdZNelhshhoha30FtPvKkuTzFv/1JuhXoauNUso7OKpOj/0asDGV6skVdQptvlIC0jsOuOTGjh2PWLe6+eV+CQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:QRLKh3Zvgn9SmYMkn3D/FviZgJanOeBHl+bDfjaeBHbOB5iUSWPb0oHOV7gaXszyVXUEnHsyHjsxIRQPEIF5Dw==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:exHI4GkZb+CcG08rKNQI9m29BRbe8kCxaKmanxXJzmhBJPYacFX20WHknYE4mbIjXGFaH0G8k9+rEHlQBfUeBw==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:xI2jGW7VMLh1TmruqSaZdDBb9K90RROEOVBJgpKyjqK0QrR/Z9ppHZAacUy5eSfU/btLR0oLpfKwx2BTT0RvDg==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:yE8a4nIpC2OOWEStdTtHzokLXEWgmZSWTgVB5TKICRtSMu56ze/jtsUXXeEXsSo5iPS5sj5xqwc3+mQeSxomCQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:uOZWcQFHkTPywqEpXLlUFuV97cakGJwiWkjU1N82m5oio7HMtXS7uT/s8gzhJ/GKdg/89K8ketYVNV822m/cDQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:bjFjYUhsJgI7nfq1qVziwOjkEFWW+5DL7n4VUmLwlaMzFXX7exMYVXVABj0/JHlat1GIw4FCJMf76XKruI4/Dw==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:YYL0mXux3UDDt7eYil0gVXOApbTG3HClf9R4zLcxCUcHyyqc5bHtR0mqbQVeymNHoj+/u1PBiv6H5hYzgTuACQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:oiGDFqrtyLWN0vhKzYS/4JQBxaA8RVqW/pNGX0bLeH0uBQyozd+G/ZsJkDs9hnm6TUP0ELDZoTPuMng+X7mUDg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:hLHaxilLdRyhrYEqMTcqL+8yZq3mP5FkakW4Rcm+ss7kIay+rwVEF2K2qSmgEmyF+DRSko+wFt5umeJhRt3lAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:7TFIdvCJIht+p5G0BPG6o7A8vAEBPOvFNpIXTO+flZycSS4uDbis1ZSbLZSxdNHWPJNFHBsw+nY7c4K4mDwjCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:4A3FvSr/luM6OEDF6zK3BsPr5tdIllWkZuYqEOiPruw5zxYOz8XoF3xOgSiPonsz2pscxCy8S97L2D6DVKlpAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:NcBypwasrVfpasLYp4gBqGK2RU9ioNzpOVB9nXxr+nzCJbLGYmnVxBJ/2YtKpCMuin3Rd8xFPIwfonmvdRDYCQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:xo9KvCXl1YgGd/p2Pos48NyMmHg6WHXt2iqKEOY9eVjh0hBuUW/m/549fIy3sfN0dBN/oGh2H/Gb9yM5QutDDQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:fRy5UMVXFdaTMhLSrNPjkusWRu5j9stGY+q7lMqfEEWVjK3DBO4Ykby8Qfm/Yl7XWxGURrxhfVWdq/U1eTCzCA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:wbaWfrI2xcIQdb8l1F4J25relfk0xhZV217wtRgAic595l3xatTEH6P8N7ggFSSxr8VnX9VX9yiViG3yiMISCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:evnsy8jLJhkj8/7ToJMe62ZYDOjV9cqu+i6yhSMrhXHH9TiDO48Ty2URhx4dMCBxrrNXU8UhAHvWS1itc9f2DA==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:KJ5MPA101oxwfwi1yQpBDP2lSS5topuU1h6PYC6CzLScY5S0KlUpztzCevnNC3PI1pJJ1dmtCZHBM42DEJuXCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:wSmrQSPzUU5tKVQupqOVxIb6Yvi0JQi9eX+klNO9Ka6vLQrJ8xCNQlx1sEJLa+5jjEa3+KCk6ktg6X9WaSS3Ag==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:vYEllVo7ZVKfzoAsKXCVxCiCr8FcI7u22q57RIjCW90Cauq5/M+Er2SvtuM5uRVSHrvZ+DhBtTboIllMxGsiCw==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:ZRmisK1tVel8nDYEHHWT1X6D7yb353qfeIlcz1rVzpzlhPkuiQv0Cve3ADWE2HZKwmYenWMsVHVd2jhR6lUDAA==" value=local-opening +bound-lock/1 by=device epoch=2 form=alphabet id=def-B measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=B sig="ed25519:sample:81P8XEhv/0d2swoNWzXdryLglyIXKkhQGab+z9wy3hMKpQ+ZXE84trbdr128wVbqKrmWzrfRI04/VUH/50ymCQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=2 form=alphabet id=def-C measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=B scope=C sig="ed25519:sample:pvshfu9B6PIcASb1eZ7deBlx1rod/MQutiZm6p9PNRX5ArZcZlfWHosvUKY3pznlaqF1KhUIjS0S088WKNuvDQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=2 form=alphabet id=def-G measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=C scope=G sig="ed25519:sample:ipebuAk/E0iI92hXpSoWvyHdgnIAKGjOnXKroHvZb1EB6R9q6U5iuhWjPNF5FkCDl+KO/slhtRUtqyU6lLBJAg==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=2 form=alphabet id=def-D measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=D sig="ed25519:sample:1eKTYuOOr7TOL97olsTSKR348qPtzbHz3rlnjuJbFOEztJLOA+mjJSmQfqG4neE80UM7Q77lhTzRTqIGrn+WCw==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:LBF1AmniKCyZM2o+Q+rX7QzwvL9/DfJVvQUiQSj+gbbZ8zb+1oMmMgjfEXrV9uguxdWwbDVx86isWGzxurazDw==" sign=+1 type=mark value=lock|readme +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:H79o4telnuw8lWB86saqXhuDAfhhHcwIRvmhMkx4tKC/rCuN530pqTBF+U96UVhO6/ZjqpNgNi+QdLQYSI2oBA==" sign=+1 type=mark value=lock|readme|source widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:sB7ah2xtyiqiOpMwIc+ybtl9o2G+Ll5K8DSNJu3OY+cOWWTi+4X/g/PMAQWAxMUcbo8sp1LHhD98pSAGn8N9Ag==" sign=+1 type=mark value=lock +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:c/GoQ2CXsA6rFZQcbravEUCxg1cCZ4ex3Tny1l3h8/wCHYXECcCpj6Z0GJY0FaZd9gRLRfOMQs97CIqgGTHIDg==" sign=+1 type=claim value=lock|readme +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:K8Uj3o729531ncJyscBp5pSX/sf+p69wQe2f7RxWuE7mLTi5oDBrSjK/Or/dlEPUjCert26uy5xMOJ0wRWUbDw==" sign=+1 type=claim value=lock diff --git a/samples/artifacts-changed/receipts.bound b/samples/artifacts-changed/receipts.bound new file mode 100644 index 0000000..b788ea4 --- /dev/null +++ b/samples/artifacts-changed/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:86e41dc49e3c7f78633751b51819eeec651c2ba287ecfa235b521fae592b5d44 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:e736bb6d404c0ed31af8e27b162990df0de6fc022cfa3cbcd267f9641380b204 +bound-lock/1 at=place:sha256:07cbdda3673be18b638348a97f4e77798eec1a574c331fae5c4b6945a7e2c9c4 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:0fed764bdd45c1d568dad83b0067f882f54f24099b42baf52830ee57312f8436 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 +bound-lock/1 at=place:sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 +bound-lock/1 at=place:sha256:1cd96a4a0f9d9c7e74a48dbf08bb9f517a1deb52ed76235f2177e756bef17273 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d +bound-lock/1 at=place:sha256:79e2028d8782d004bd13f0d5072641259db4d5837fb5027be206a14764530ec0 by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 +bound-lock/1 at=place:sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c diff --git a/samples/artifacts/TARGET.bound b/samples/artifacts/TARGET.bound new file mode 100644 index 0000000..5b443ad --- /dev/null +++ b/samples/artifacts/TARGET.bound @@ -0,0 +1,112 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:c0de1512ad0955fb6f6ae69567ca0912992f3b3e865f82446d432f74eeedc2cd role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b role=writes scope=dep/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b diff --git a/samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b b/samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b new file mode 100644 index 0000000..73010bb --- /dev/null +++ b/samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=alphabet +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/artifacts/fixtures/history.txt b/samples/artifacts/fixtures/history.txt new file mode 100644 index 0000000..2fd6bef --- /dev/null +++ b/samples/artifacts/fixtures/history.txt @@ -0,0 +1,51 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:fsoKXn3O1TzizAkR00e09j2kWLHAwqyWdZxiVyiy4L6KLEl4/htzACoNxGMTANeoVdiy79Fx3nFda6A2q+oUBQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:7eqvdrWhRnOvOwKIhdgZYu13ZE0RB2Vgt/PMTu016qsFO3NVhWJYmwXlklNGuCCJN85Yng3bKqEAWtqbh3b5AQ==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:WNs0nnDRESiY5fGI9tV8MN/PTQO7XfqlxL+p3xoiY1/I3yNnCzhnUq7eNvZwl+fRWY1LF0vqsjzD3FUTG9jxBw==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:MGf3ndDGNNTfp+qks4Cus9CbskelLA2Qm6HarY1KpwEYRB42JUBBKmtg8QmFeESJtR9fXE5cCJwyqw4fGh6pAA==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:qK2Q80J7vsMqBCBnWnrQLqLqcP6ZpHsjhGHwAlXMA2oz5LOTrW8yjRN9OiD+qOqo5PJZdqC44DJYoQyxhE0lDQ==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:wlKgtlzM5UdsSEvViR1l3X+ZHIODDH3RiWBnqfHAYTNdLqyrIdoLJioXE3jEgCatjI3y4uaT/duAhmhUcTZdBg==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:yrGJ7ga1azQlT85jxe/MsvkQDTVZzxEU+jBeJQ7APqQZqs4c79/5O1TTngFjQJVDJUqnjyrkZKRKB/gd4VmDBg==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:E4uCB2jYEza2vvX+lad/BMAipp1Kk92dx+DtkwPFfa+grG2oSSUZ/Z3kKWB946g9v3KNyBiUTBzJGr8PuXYyAA==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:A8rSpxhsp0wCrjEYTlKSCkFTw6Zj2BtseIM9FACoWA1+Q080q8QFjxHWSwlSGSktrGtJf+7RyRQ/xpdGpaqiBQ==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:16csW4Ea6oPKDSL23Arl9i4jaGsdKBsr6gJ+VV+QeNLW7HCQCGm5h1jnTLgR8SUZ+Og+TohkVJRCVS2hllLpAA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rdQJUBtU8Fd6LQIe14kfgR2eEs8Wl79vNweEHYyvQ3Qn+s6iKR6wosoThbDrLcWOnJP+TrXbD6wDOvkDolozDQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:/snjQJa9r7jlTAT8LVW2mwzaFPcmmb8xtK4TU66sVk8fejmWYrtUppyUUioFDrwqhhJHEdqn9AHWCG6kbb7XCA==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:gfTlcqV5+7KEiZn0GxFVMEqFButn0n8VDcc2TmMVdr4TQqcmUoAF/YVBeypFALfyPJMfBXTvcBqAj4dHhSSeDA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:e1UqHxqwIScoyiuy95XamXlll79tXD3Mabci8zIRrtboopGcXSp6Gc18saZboRdH1lfpLPVO7YIKX9xOx71bDQ==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:KPMtNxch7mmqOajlYvI4JNWO5NeL2oqyl2YSkmMTBNDiNVm18MkPO4O+J2VB2EzDb1LQgiDT7KJDbS6UubUkCg==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:Ct/oVm2ARJUn05K8/Rxzu9ymLWiYPh/QqAMUOdGg6dc3jjh0iYYBK7DI8K44LAWCSkNAdYOmd/JDs22luLH4BQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:7q8e6wID2ao9bIIQAA+g7T9cH3ANTmfAIiFyZY2cqxBn51ehoPAX5zAXqlXrOHdgUt60/mHBTDRTssKTytjXAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:PkKJkVAPyU5wEP5cnrSJ0FfNAknLyvAo27P0PfTA0KKQxyaYgqX92shfyUa99Yiyx+GfwnzFEkzpF9PyM9PsCg==" value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:lcFw6pgCrEsppizHePIKypcdN0oY/nyr9k9tZ7/RycbuCt49nypvcd0Pa4GEHTgZFCauXn28qTA3OXH/pkanAw==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:/zZKzSxDkS5PiyKzox4oqZz38nc4ikBp8j7r1S4fECNGU0+aVH457wWLtz74we1NeZP2CebgP0rgPKw6xXWsDg==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:sdZNelhshhoha30FtPvKkuTzFv/1JuhXoauNUso7OKpOj/0asDGV6skVdQptvlIC0jsOuOTGjh2PWLe6+eV+CQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:QRLKh3Zvgn9SmYMkn3D/FviZgJanOeBHl+bDfjaeBHbOB5iUSWPb0oHOV7gaXszyVXUEnHsyHjsxIRQPEIF5Dw==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:exHI4GkZb+CcG08rKNQI9m29BRbe8kCxaKmanxXJzmhBJPYacFX20WHknYE4mbIjXGFaH0G8k9+rEHlQBfUeBw==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:xI2jGW7VMLh1TmruqSaZdDBb9K90RROEOVBJgpKyjqK0QrR/Z9ppHZAacUy5eSfU/btLR0oLpfKwx2BTT0RvDg==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:yE8a4nIpC2OOWEStdTtHzokLXEWgmZSWTgVB5TKICRtSMu56ze/jtsUXXeEXsSo5iPS5sj5xqwc3+mQeSxomCQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:uOZWcQFHkTPywqEpXLlUFuV97cakGJwiWkjU1N82m5oio7HMtXS7uT/s8gzhJ/GKdg/89K8ketYVNV822m/cDQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:bjFjYUhsJgI7nfq1qVziwOjkEFWW+5DL7n4VUmLwlaMzFXX7exMYVXVABj0/JHlat1GIw4FCJMf76XKruI4/Dw==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:YYL0mXux3UDDt7eYil0gVXOApbTG3HClf9R4zLcxCUcHyyqc5bHtR0mqbQVeymNHoj+/u1PBiv6H5hYzgTuACQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:oiGDFqrtyLWN0vhKzYS/4JQBxaA8RVqW/pNGX0bLeH0uBQyozd+G/ZsJkDs9hnm6TUP0ELDZoTPuMng+X7mUDg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:hLHaxilLdRyhrYEqMTcqL+8yZq3mP5FkakW4Rcm+ss7kIay+rwVEF2K2qSmgEmyF+DRSko+wFt5umeJhRt3lAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:7TFIdvCJIht+p5G0BPG6o7A8vAEBPOvFNpIXTO+flZycSS4uDbis1ZSbLZSxdNHWPJNFHBsw+nY7c4K4mDwjCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:4A3FvSr/luM6OEDF6zK3BsPr5tdIllWkZuYqEOiPruw5zxYOz8XoF3xOgSiPonsz2pscxCy8S97L2D6DVKlpAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:NcBypwasrVfpasLYp4gBqGK2RU9ioNzpOVB9nXxr+nzCJbLGYmnVxBJ/2YtKpCMuin3Rd8xFPIwfonmvdRDYCQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:xo9KvCXl1YgGd/p2Pos48NyMmHg6WHXt2iqKEOY9eVjh0hBuUW/m/549fIy3sfN0dBN/oGh2H/Gb9yM5QutDDQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:fRy5UMVXFdaTMhLSrNPjkusWRu5j9stGY+q7lMqfEEWVjK3DBO4Ykby8Qfm/Yl7XWxGURrxhfVWdq/U1eTCzCA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:wbaWfrI2xcIQdb8l1F4J25relfk0xhZV217wtRgAic595l3xatTEH6P8N7ggFSSxr8VnX9VX9yiViG3yiMISCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:evnsy8jLJhkj8/7ToJMe62ZYDOjV9cqu+i6yhSMrhXHH9TiDO48Ty2URhx4dMCBxrrNXU8UhAHvWS1itc9f2DA==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:KJ5MPA101oxwfwi1yQpBDP2lSS5topuU1h6PYC6CzLScY5S0KlUpztzCevnNC3PI1pJJ1dmtCZHBM42DEJuXCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:wSmrQSPzUU5tKVQupqOVxIb6Yvi0JQi9eX+klNO9Ka6vLQrJ8xCNQlx1sEJLa+5jjEa3+KCk6ktg6X9WaSS3Ag==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:vYEllVo7ZVKfzoAsKXCVxCiCr8FcI7u22q57RIjCW90Cauq5/M+Er2SvtuM5uRVSHrvZ+DhBtTboIllMxGsiCw==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:ZRmisK1tVel8nDYEHHWT1X6D7yb353qfeIlcz1rVzpzlhPkuiQv0Cve3ADWE2HZKwmYenWMsVHVd2jhR6lUDAA==" value=local-opening +bound-lock/1 by=device epoch=2 form=alphabet id=def-B measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=B sig="ed25519:sample:81P8XEhv/0d2swoNWzXdryLglyIXKkhQGab+z9wy3hMKpQ+ZXE84trbdr128wVbqKrmWzrfRI04/VUH/50ymCQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=2 form=alphabet id=def-C measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=B scope=C sig="ed25519:sample:pvshfu9B6PIcASb1eZ7deBlx1rod/MQutiZm6p9PNRX5ArZcZlfWHosvUKY3pznlaqF1KhUIjS0S088WKNuvDQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=2 form=alphabet id=def-G measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=C scope=G sig="ed25519:sample:ipebuAk/E0iI92hXpSoWvyHdgnIAKGjOnXKroHvZb1EB6R9q6U5iuhWjPNF5FkCDl+KO/slhtRUtqyU6lLBJAg==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=2 form=alphabet id=def-D measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=D sig="ed25519:sample:1eKTYuOOr7TOL97olsTSKR348qPtzbHz3rlnjuJbFOEztJLOA+mjJSmQfqG4neE80UM7Q77lhTzRTqIGrn+WCw==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:LBF1AmniKCyZM2o+Q+rX7QzwvL9/DfJVvQUiQSj+gbbZ8zb+1oMmMgjfEXrV9uguxdWwbDVx86isWGzxurazDw==" sign=+1 type=mark value=lock|readme +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:H79o4telnuw8lWB86saqXhuDAfhhHcwIRvmhMkx4tKC/rCuN530pqTBF+U96UVhO6/ZjqpNgNi+QdLQYSI2oBA==" sign=+1 type=mark value=lock|readme|source widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:sB7ah2xtyiqiOpMwIc+ybtl9o2G+Ll5K8DSNJu3OY+cOWWTi+4X/g/PMAQWAxMUcbo8sp1LHhD98pSAGn8N9Ag==" sign=+1 type=mark value=lock +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:c/GoQ2CXsA6rFZQcbravEUCxg1cCZ4ex3Tny1l3h8/wCHYXECcCpj6Z0GJY0FaZd9gRLRfOMQs97CIqgGTHIDg==" sign=+1 type=claim value=lock|readme +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:K8Uj3o729531ncJyscBp5pSX/sf+p69wQe2f7RxWuE7mLTi5oDBrSjK/Or/dlEPUjCert26uy5xMOJ0wRWUbDw==" sign=+1 type=claim value=lock diff --git a/samples/artifacts/receipts.bound b/samples/artifacts/receipts.bound new file mode 100644 index 0000000..b788ea4 --- /dev/null +++ b/samples/artifacts/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:86e41dc49e3c7f78633751b51819eeec651c2ba287ecfa235b521fae592b5d44 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:e736bb6d404c0ed31af8e27b162990df0de6fc022cfa3cbcd267f9641380b204 +bound-lock/1 at=place:sha256:07cbdda3673be18b638348a97f4e77798eec1a574c331fae5c4b6945a7e2c9c4 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:0fed764bdd45c1d568dad83b0067f882f54f24099b42baf52830ee57312f8436 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 +bound-lock/1 at=place:sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 +bound-lock/1 at=place:sha256:1cd96a4a0f9d9c7e74a48dbf08bb9f517a1deb52ed76235f2177e756bef17273 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d +bound-lock/1 at=place:sha256:79e2028d8782d004bd13f0d5072641259db4d5837fb5027be206a14764530ec0 by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 +bound-lock/1 at=place:sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c diff --git a/samples/historical-document-views-1/CITATION.cff b/samples/historical-document-views-1/CITATION.cff new file mode 100644 index 0000000..3037232 --- /dev/null +++ b/samples/historical-document-views-1/CITATION.cff @@ -0,0 +1,6 @@ +cff-version: 1.2.0 +message: "Cite specimen-register." +type: software +title: "specimen-register" +version: "1.4.2" +license: "MIT" diff --git a/samples/historical-document-views-1/README.md b/samples/historical-document-views-1/README.md new file mode 100644 index 0000000..b6175eb --- /dev/null +++ b/samples/historical-document-views-1/README.md @@ -0,0 +1,9 @@ +# specimen-register + + + +A declared place for specimen-register. + +## Reading specimen-register + +Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-1/TARGET.bound b/samples/historical-document-views-1/TARGET.bound new file mode 100644 index 0000000..8bf6665 --- /dev/null +++ b/samples/historical-document-views-1/TARGET.bound @@ -0,0 +1,61 @@ +bound-lock/1 about="# Observations\n\nA field note belongs to its place.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md value=lock +bound-lock/1 about="A declared place for specimen-register." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock +bound-lock/1 about="An item assigned a local identifier." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=specimen +bound-lock/1 about="Assign a local identifier." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock +bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock +bound-lock/1 about="Keep independent readings of specimen-register visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock +bound-lock/1 about="Prepare the register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock +bound-lock/1 about="Reading specimen-register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock +bound-lock/1 about="Record the observed properties." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock +bound-lock/1 about="name: field-work\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml value=lock +bound-lock/1 about="{\"name\":\"field-notes\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json value=lock +bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==" value="MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=" +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json value=true +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=src/**/*.ts|types/**/*.ts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=true +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2022 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=specimen-register +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=1.4.2 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 role=writes scope=dep/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 value=sha256:11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd diff --git a/samples/historical-document-views-1/docs/guide.md b/samples/historical-document-views-1/docs/guide.md new file mode 100644 index 0000000..1acad43 --- /dev/null +++ b/samples/historical-document-views-1/docs/guide.md @@ -0,0 +1,4 @@ +## Prepare the register + +1. Assign a local identifier. +2. Record the observed properties. diff --git a/samples/historical-document-views-1/docs/reference.md b/samples/historical-document-views-1/docs/reference.md new file mode 100644 index 0000000..d926068 --- /dev/null +++ b/samples/historical-document-views-1/docs/reference.md @@ -0,0 +1,11 @@ +**specimen** — An item assigned a local identifier. + +| | | +|---|---| +| pin | historical | + +- [README](../README.md) +- [guide](guide.md) +- [reference](reference.md) +- [why](why.md) +- [notes](../notes.md) diff --git a/samples/historical-document-views-1/docs/why.md b/samples/historical-document-views-1/docs/why.md new file mode 100644 index 0000000..bb5a43a --- /dev/null +++ b/samples/historical-document-views-1/docs/why.md @@ -0,0 +1,3 @@ +## Reading specimen-register + +Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 b/samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 new file mode 100644 index 0000000..79ea277 --- /dev/null +++ b/samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd new file mode 100644 index 0000000..361b3c4 --- /dev/null +++ b/samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd @@ -0,0 +1,4 @@ +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 new file mode 100644 index 0000000000000000000000000000000000000000..2d5e7ba4e9a10ac53af068c9419c2db0ad7da495 GIT binary patch literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 new file mode 100644 index 0000000000000000000000000000000000000000..829296b8b941f46a529f8c4f18a2571347537b14 GIT binary patch literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-1/manifest.json b/samples/historical-document-views-1/manifest.json new file mode 100644 index 0000000..147c62d --- /dev/null +++ b/samples/historical-document-views-1/manifest.json @@ -0,0 +1 @@ +{"name":"field-notes"} diff --git a/samples/historical-document-views-1/notes.md b/samples/historical-document-views-1/notes.md new file mode 100644 index 0000000..1dccd22 --- /dev/null +++ b/samples/historical-document-views-1/notes.md @@ -0,0 +1,3 @@ +# Observations + +A field note belongs to its place. diff --git a/samples/historical-document-views-1/process.yml b/samples/historical-document-views-1/process.yml new file mode 100644 index 0000000..3826911 --- /dev/null +++ b/samples/historical-document-views-1/process.yml @@ -0,0 +1,2 @@ +name: field-work +on: push diff --git a/samples/historical-document-views-1/receipts.bound b/samples/historical-document-views-1/receipts.bound new file mode 100644 index 0000000..e69de29 diff --git a/samples/historical-document-views-1/tsconfig.json b/samples/historical-document-views-1/tsconfig.json new file mode 100644 index 0000000..9af1a8f --- /dev/null +++ b/samples/historical-document-views-1/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "declaration": true, + "strict": true, + "target": "ES2022" + }, + "include": [ + "src/**/*.ts", + "types/**/*.ts" + ] +} diff --git a/samples/historical-document-views-2/CITATION.cff b/samples/historical-document-views-2/CITATION.cff new file mode 100644 index 0000000..3037232 --- /dev/null +++ b/samples/historical-document-views-2/CITATION.cff @@ -0,0 +1,6 @@ +cff-version: 1.2.0 +message: "Cite specimen-register." +type: software +title: "specimen-register" +version: "1.4.2" +license: "MIT" diff --git a/samples/historical-document-views-2/README.md b/samples/historical-document-views-2/README.md new file mode 100644 index 0000000..b6175eb --- /dev/null +++ b/samples/historical-document-views-2/README.md @@ -0,0 +1,9 @@ +# specimen-register + + + +A declared place for specimen-register. + +## Reading specimen-register + +Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-2/TARGET.bound b/samples/historical-document-views-2/TARGET.bound new file mode 100644 index 0000000..68dd973 --- /dev/null +++ b/samples/historical-document-views-2/TARGET.bound @@ -0,0 +1,63 @@ +bound-lock/1 about="# Observations\n\nA field note belongs to its place.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md value=lock +bound-lock/1 about="A declared place for specimen-register." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock +bound-lock/1 about="An item assigned a local identifier." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=specimen +bound-lock/1 about="Assign a local identifier." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock +bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock +bound-lock/1 about="Keep independent readings of specimen-register visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock +bound-lock/1 about="Prepare the register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock +bound-lock/1 about="Reading specimen-register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock +bound-lock/1 about="Record the observed properties." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock +bound-lock/1 about="name: field-work\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml value=lock +bound-lock/1 about="{\"name\":\"field-notes\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json value=lock +bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==" value="MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=" +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json value=true +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=src/**/*.ts|types/**/*.ts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=true +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2022 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=specimen-register +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=1.4.2 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 role=writes scope=dep/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 value=sha256:11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd role=writes scope=dep/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd value=sha256:963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd diff --git a/samples/historical-document-views-2/docs/guide.md b/samples/historical-document-views-2/docs/guide.md new file mode 100644 index 0000000..1acad43 --- /dev/null +++ b/samples/historical-document-views-2/docs/guide.md @@ -0,0 +1,4 @@ +## Prepare the register + +1. Assign a local identifier. +2. Record the observed properties. diff --git a/samples/historical-document-views-2/docs/reference.md b/samples/historical-document-views-2/docs/reference.md new file mode 100644 index 0000000..0a08e2b --- /dev/null +++ b/samples/historical-document-views-2/docs/reference.md @@ -0,0 +1,11 @@ +**specimen** — An item assigned a local identifier. + +| | | +|---|---| +| pin | historical | + +- [why](why.md) +- [guide](guide.md) +- [README](../README.md) +- [reference](reference.md) +- [notes](../notes.md) diff --git a/samples/historical-document-views-2/docs/why.md b/samples/historical-document-views-2/docs/why.md new file mode 100644 index 0000000..bb5a43a --- /dev/null +++ b/samples/historical-document-views-2/docs/why.md @@ -0,0 +1,3 @@ +## Reading specimen-register + +Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 b/samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 new file mode 100644 index 0000000..79ea277 --- /dev/null +++ b/samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd new file mode 100644 index 0000000..361b3c4 --- /dev/null +++ b/samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd @@ -0,0 +1,4 @@ +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 new file mode 100644 index 0000000000000000000000000000000000000000..2d5e7ba4e9a10ac53af068c9419c2db0ad7da495 GIT binary patch literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 new file mode 100644 index 0000000000000000000000000000000000000000..829296b8b941f46a529f8c4f18a2571347537b14 GIT binary patch literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-2/manifest.json b/samples/historical-document-views-2/manifest.json new file mode 100644 index 0000000..147c62d --- /dev/null +++ b/samples/historical-document-views-2/manifest.json @@ -0,0 +1 @@ +{"name":"field-notes"} diff --git a/samples/historical-document-views-2/notes.md b/samples/historical-document-views-2/notes.md new file mode 100644 index 0000000..1dccd22 --- /dev/null +++ b/samples/historical-document-views-2/notes.md @@ -0,0 +1,3 @@ +# Observations + +A field note belongs to its place. diff --git a/samples/historical-document-views-2/process.yml b/samples/historical-document-views-2/process.yml new file mode 100644 index 0000000..3826911 --- /dev/null +++ b/samples/historical-document-views-2/process.yml @@ -0,0 +1,2 @@ +name: field-work +on: push diff --git a/samples/historical-document-views-2/receipts.bound b/samples/historical-document-views-2/receipts.bound new file mode 100644 index 0000000..e69de29 diff --git a/samples/historical-document-views-2/tsconfig.json b/samples/historical-document-views-2/tsconfig.json new file mode 100644 index 0000000..9af1a8f --- /dev/null +++ b/samples/historical-document-views-2/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "declaration": true, + "strict": true, + "target": "ES2022" + }, + "include": [ + "src/**/*.ts", + "types/**/*.ts" + ] +} diff --git a/samples/historical-document-views-3/CITATION.cff b/samples/historical-document-views-3/CITATION.cff new file mode 100644 index 0000000..3037232 --- /dev/null +++ b/samples/historical-document-views-3/CITATION.cff @@ -0,0 +1,6 @@ +cff-version: 1.2.0 +message: "Cite specimen-register." +type: software +title: "specimen-register" +version: "1.4.2" +license: "MIT" diff --git a/samples/historical-document-views-3/README.md b/samples/historical-document-views-3/README.md new file mode 100644 index 0000000..b6175eb --- /dev/null +++ b/samples/historical-document-views-3/README.md @@ -0,0 +1,9 @@ +# specimen-register + + + +A declared place for specimen-register. + +## Reading specimen-register + +Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-3/TARGET.bound b/samples/historical-document-views-3/TARGET.bound new file mode 100644 index 0000000..13cd8a5 --- /dev/null +++ b/samples/historical-document-views-3/TARGET.bound @@ -0,0 +1,67 @@ +bound-lock/1 about="# Observations\n\nA field note belongs to its place.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md value=lock +bound-lock/1 about="A declared place for specimen-register." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock +bound-lock/1 about="An item assigned a local identifier." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=specimen +bound-lock/1 about="Another reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt value=lock +bound-lock/1 about="Assign a local identifier." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock +bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock +bound-lock/1 about="Keep independent readings of specimen-register visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock +bound-lock/1 about="One reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt value=lock +bound-lock/1 about="Prepare the register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock +bound-lock/1 about="Reading specimen-register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock +bound-lock/1 about="Record the observed properties." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock +bound-lock/1 about="name: field-work\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml value=lock +bound-lock/1 about="{\"name\":\"field-notes\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json value=lock +bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==" value="MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=" +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json value=true +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=src/**/*.ts|types/**/*.ts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=true +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2022 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=specimen-register +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=1.4.2 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 role=writes scope=dep/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 value=sha256:11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd role=writes scope=dep/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd value=sha256:963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 role=writes scope=dep/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 value=sha256:f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 diff --git a/samples/historical-document-views-3/docs/guide.md b/samples/historical-document-views-3/docs/guide.md new file mode 100644 index 0000000..1acad43 --- /dev/null +++ b/samples/historical-document-views-3/docs/guide.md @@ -0,0 +1,4 @@ +## Prepare the register + +1. Assign a local identifier. +2. Record the observed properties. diff --git a/samples/historical-document-views-3/docs/reference.md b/samples/historical-document-views-3/docs/reference.md new file mode 100644 index 0000000..0a08e2b --- /dev/null +++ b/samples/historical-document-views-3/docs/reference.md @@ -0,0 +1,11 @@ +**specimen** — An item assigned a local identifier. + +| | | +|---|---| +| pin | historical | + +- [why](why.md) +- [guide](guide.md) +- [README](../README.md) +- [reference](reference.md) +- [notes](../notes.md) diff --git a/samples/historical-document-views-3/docs/why.md b/samples/historical-document-views-3/docs/why.md new file mode 100644 index 0000000..bb5a43a --- /dev/null +++ b/samples/historical-document-views-3/docs/why.md @@ -0,0 +1,3 @@ +## Reading specimen-register + +Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 b/samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 new file mode 100644 index 0000000..79ea277 --- /dev/null +++ b/samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd new file mode 100644 index 0000000..361b3c4 --- /dev/null +++ b/samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd @@ -0,0 +1,4 @@ +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 new file mode 100644 index 0000000000000000000000000000000000000000..2d5e7ba4e9a10ac53af068c9419c2db0ad7da495 GIT binary patch literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 b/samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 new file mode 100644 index 0000000..c305ace --- /dev/null +++ b/samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"One reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt sig=\"ed25519:sample:yG4ATTjmINhAPuXkVOMkz1iXwSBkrvBBzBK7tMeqW6Ilq3rC/oZwfWH8eVv4+Uvnyv7N/t8IULIdWdo8aTnuAA==\" value=lock\nbound-lock/1 about=\"Another reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt sig=\"ed25519:sample:BfXlF0B6rKlDAm4PxIBaTlF5s4VWU7uDQ2d7Bvy0Qz77COM3jhHAiJ53dLmFUCdTuBO4Umtmz/ORkSJhNxXrDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=3 form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt sig=\"ed25519:sample:1l+/t7jSD9QnOt4Alu0QPzfYpbiqZxYVCBq7pRQuS7W/rdmwxfwi4Kdwqbf6Ln+Oo1SHiZdtlCofdltlnRpcBg==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:uKHHTAyQw31du974ylaBT2eQfd5g4r/hV9yfUB2O/1w5IUlFdWAl3bznoqVS9gz1nlNqY3g2YeYf+/P0N5vuBw==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":62,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 new file mode 100644 index 0000000000000000000000000000000000000000..829296b8b941f46a529f8c4f18a2571347537b14 GIT binary patch literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-3/manifest.json b/samples/historical-document-views-3/manifest.json new file mode 100644 index 0000000..147c62d --- /dev/null +++ b/samples/historical-document-views-3/manifest.json @@ -0,0 +1 @@ +{"name":"field-notes"} diff --git a/samples/historical-document-views-3/notes.md b/samples/historical-document-views-3/notes.md new file mode 100644 index 0000000..1dccd22 --- /dev/null +++ b/samples/historical-document-views-3/notes.md @@ -0,0 +1,3 @@ +# Observations + +A field note belongs to its place. diff --git a/samples/historical-document-views-3/process.yml b/samples/historical-document-views-3/process.yml new file mode 100644 index 0000000..3826911 --- /dev/null +++ b/samples/historical-document-views-3/process.yml @@ -0,0 +1,2 @@ +name: field-work +on: push diff --git a/samples/historical-document-views-3/receipts.bound b/samples/historical-document-views-3/receipts.bound new file mode 100644 index 0000000..e69de29 diff --git a/samples/historical-document-views-3/tsconfig.json b/samples/historical-document-views-3/tsconfig.json new file mode 100644 index 0000000..9af1a8f --- /dev/null +++ b/samples/historical-document-views-3/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "declaration": true, + "strict": true, + "target": "ES2022" + }, + "include": [ + "src/**/*.ts", + "types/**/*.ts" + ] +} diff --git a/samples/historical-document-views-4/CITATION.cff b/samples/historical-document-views-4/CITATION.cff new file mode 100644 index 0000000..cf66851 --- /dev/null +++ b/samples/historical-document-views-4/CITATION.cff @@ -0,0 +1,6 @@ +cff-version: 1.2.0 +message: "Cite route-notes." +type: software +title: "route-notes" +version: "3.2.1" +license: "MIT" diff --git a/samples/historical-document-views-4/README.md b/samples/historical-document-views-4/README.md new file mode 100644 index 0000000..f8ac2ce --- /dev/null +++ b/samples/historical-document-views-4/README.md @@ -0,0 +1,9 @@ +# route-notes + + + +A declared place for route-notes. + +## Reading route-notes + +Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-4/TARGET.bound b/samples/historical-document-views-4/TARGET.bound new file mode 100644 index 0000000..c2127f5 --- /dev/null +++ b/samples/historical-document-views-4/TARGET.bound @@ -0,0 +1,61 @@ +bound-lock/1 about="# Collection\n\nAn item keeps its provenance.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md value=lock +bound-lock/1 about="A declared place for route-notes." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock +bound-lock/1 about="A location named in an itinerary." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=stop +bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock +bound-lock/1 about="Keep independent readings of route-notes visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock +bound-lock/1 about="Name the intended stops." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock +bound-lock/1 about="Prepare the itinerary" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock +bound-lock/1 about="Reading route-notes" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock +bound-lock/1 about="Record each connection." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock +bound-lock/1 about="name: catalogue\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml value=lock +bound-lock/1 about="{\"name\":\"collection\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json value=lock +bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==" value="MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=" +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=lib/**/*.ts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json value=NodeNext +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=false +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2020 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=route-notes +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=3.2.1 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 role=writes scope=dep/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 value=sha256:0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd diff --git a/samples/historical-document-views-4/catalogue.json b/samples/historical-document-views-4/catalogue.json new file mode 100644 index 0000000..60a9299 --- /dev/null +++ b/samples/historical-document-views-4/catalogue.json @@ -0,0 +1 @@ +{"name":"collection"} diff --git a/samples/historical-document-views-4/catalogue.md b/samples/historical-document-views-4/catalogue.md new file mode 100644 index 0000000..66c04ca --- /dev/null +++ b/samples/historical-document-views-4/catalogue.md @@ -0,0 +1,3 @@ +# Collection + +An item keeps its provenance. diff --git a/samples/historical-document-views-4/catalogue.yml b/samples/historical-document-views-4/catalogue.yml new file mode 100644 index 0000000..9edb4fa --- /dev/null +++ b/samples/historical-document-views-4/catalogue.yml @@ -0,0 +1,2 @@ +name: catalogue +on: push diff --git a/samples/historical-document-views-4/docs/guide.md b/samples/historical-document-views-4/docs/guide.md new file mode 100644 index 0000000..71be267 --- /dev/null +++ b/samples/historical-document-views-4/docs/guide.md @@ -0,0 +1,4 @@ +## Prepare the itinerary + +1. Name the intended stops. +2. Record each connection. diff --git a/samples/historical-document-views-4/docs/reference.md b/samples/historical-document-views-4/docs/reference.md new file mode 100644 index 0000000..38b97d7 --- /dev/null +++ b/samples/historical-document-views-4/docs/reference.md @@ -0,0 +1,11 @@ +**stop** — A location named in an itinerary. + +| | | +|---|---| +| pin | historical | + +- [README](../README.md) +- [catalogue](../catalogue.md) +- [guide](guide.md) +- [reference](reference.md) +- [why](why.md) diff --git a/samples/historical-document-views-4/docs/why.md b/samples/historical-document-views-4/docs/why.md new file mode 100644 index 0000000..1158fcd --- /dev/null +++ b/samples/historical-document-views-4/docs/why.md @@ -0,0 +1,3 @@ +## Reading route-notes + +Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 b/samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 new file mode 100644 index 0000000..1f2fd06 --- /dev/null +++ b/samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd new file mode 100644 index 0000000..361b3c4 --- /dev/null +++ b/samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd @@ -0,0 +1,4 @@ +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 new file mode 100644 index 0000000000000000000000000000000000000000..2d5e7ba4e9a10ac53af068c9419c2db0ad7da495 GIT binary patch literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 new file mode 100644 index 0000000000000000000000000000000000000000..829296b8b941f46a529f8c4f18a2571347537b14 GIT binary patch literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-4/receipts.bound b/samples/historical-document-views-4/receipts.bound new file mode 100644 index 0000000..e69de29 diff --git a/samples/historical-document-views-4/tsconfig.json b/samples/historical-document-views-4/tsconfig.json new file mode 100644 index 0000000..9ee866a --- /dev/null +++ b/samples/historical-document-views-4/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "module": "NodeNext", + "strict": false, + "target": "ES2020" + }, + "include": [ + "lib/**/*.ts" + ] +} diff --git a/samples/historical-document-views-5/CITATION.cff b/samples/historical-document-views-5/CITATION.cff new file mode 100644 index 0000000..cf66851 --- /dev/null +++ b/samples/historical-document-views-5/CITATION.cff @@ -0,0 +1,6 @@ +cff-version: 1.2.0 +message: "Cite route-notes." +type: software +title: "route-notes" +version: "3.2.1" +license: "MIT" diff --git a/samples/historical-document-views-5/README.md b/samples/historical-document-views-5/README.md new file mode 100644 index 0000000..f8ac2ce --- /dev/null +++ b/samples/historical-document-views-5/README.md @@ -0,0 +1,9 @@ +# route-notes + + + +A declared place for route-notes. + +## Reading route-notes + +Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-5/TARGET.bound b/samples/historical-document-views-5/TARGET.bound new file mode 100644 index 0000000..b2f7584 --- /dev/null +++ b/samples/historical-document-views-5/TARGET.bound @@ -0,0 +1,63 @@ +bound-lock/1 about="# Collection\n\nAn item keeps its provenance.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md value=lock +bound-lock/1 about="A declared place for route-notes." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock +bound-lock/1 about="A location named in an itinerary." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=stop +bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock +bound-lock/1 about="Keep independent readings of route-notes visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock +bound-lock/1 about="Name the intended stops." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock +bound-lock/1 about="Prepare the itinerary" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock +bound-lock/1 about="Reading route-notes" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock +bound-lock/1 about="Record each connection." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock +bound-lock/1 about="name: catalogue\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml value=lock +bound-lock/1 about="{\"name\":\"collection\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json value=lock +bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==" value="MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=" +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=lib/**/*.ts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json value=NodeNext +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=false +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2020 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=route-notes +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=3.2.1 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 role=writes scope=dep/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 value=sha256:0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 role=writes scope=dep/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 value=sha256:df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 diff --git a/samples/historical-document-views-5/catalogue.json b/samples/historical-document-views-5/catalogue.json new file mode 100644 index 0000000..60a9299 --- /dev/null +++ b/samples/historical-document-views-5/catalogue.json @@ -0,0 +1 @@ +{"name":"collection"} diff --git a/samples/historical-document-views-5/catalogue.md b/samples/historical-document-views-5/catalogue.md new file mode 100644 index 0000000..66c04ca --- /dev/null +++ b/samples/historical-document-views-5/catalogue.md @@ -0,0 +1,3 @@ +# Collection + +An item keeps its provenance. diff --git a/samples/historical-document-views-5/catalogue.yml b/samples/historical-document-views-5/catalogue.yml new file mode 100644 index 0000000..9edb4fa --- /dev/null +++ b/samples/historical-document-views-5/catalogue.yml @@ -0,0 +1,2 @@ +name: catalogue +on: push diff --git a/samples/historical-document-views-5/docs/guide.md b/samples/historical-document-views-5/docs/guide.md new file mode 100644 index 0000000..71be267 --- /dev/null +++ b/samples/historical-document-views-5/docs/guide.md @@ -0,0 +1,4 @@ +## Prepare the itinerary + +1. Name the intended stops. +2. Record each connection. diff --git a/samples/historical-document-views-5/docs/reference.md b/samples/historical-document-views-5/docs/reference.md new file mode 100644 index 0000000..33d60e7 --- /dev/null +++ b/samples/historical-document-views-5/docs/reference.md @@ -0,0 +1,11 @@ +**stop** — A location named in an itinerary. + +| | | +|---|---| +| pin | historical | + +- [why](why.md) +- [guide](guide.md) +- [README](../README.md) +- [reference](reference.md) +- [catalogue](../catalogue.md) diff --git a/samples/historical-document-views-5/docs/why.md b/samples/historical-document-views-5/docs/why.md new file mode 100644 index 0000000..1158fcd --- /dev/null +++ b/samples/historical-document-views-5/docs/why.md @@ -0,0 +1,3 @@ +## Reading route-notes + +Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 b/samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 new file mode 100644 index 0000000..1f2fd06 --- /dev/null +++ b/samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd new file mode 100644 index 0000000..361b3c4 --- /dev/null +++ b/samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd @@ -0,0 +1,4 @@ +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 new file mode 100644 index 0000000000000000000000000000000000000000..2d5e7ba4e9a10ac53af068c9419c2db0ad7da495 GIT binary patch literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 b/samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 new file mode 100644 index 0000000..6e4f839 --- /dev/null +++ b/samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:SxCwoQDogtzG44eNLcWmDpapJWruk43f9QLdlVXT1alxYPpIFgumksToZG8vyJ05WzYKDEl02CvEJJXlRWc9CQ==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 new file mode 100644 index 0000000000000000000000000000000000000000..829296b8b941f46a529f8c4f18a2571347537b14 GIT binary patch literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-5/receipts.bound b/samples/historical-document-views-5/receipts.bound new file mode 100644 index 0000000..e69de29 diff --git a/samples/historical-document-views-5/tsconfig.json b/samples/historical-document-views-5/tsconfig.json new file mode 100644 index 0000000..9ee866a --- /dev/null +++ b/samples/historical-document-views-5/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "module": "NodeNext", + "strict": false, + "target": "ES2020" + }, + "include": [ + "lib/**/*.ts" + ] +} diff --git a/samples/historical-document-views-6/CITATION.cff b/samples/historical-document-views-6/CITATION.cff new file mode 100644 index 0000000..cf66851 --- /dev/null +++ b/samples/historical-document-views-6/CITATION.cff @@ -0,0 +1,6 @@ +cff-version: 1.2.0 +message: "Cite route-notes." +type: software +title: "route-notes" +version: "3.2.1" +license: "MIT" diff --git a/samples/historical-document-views-6/README.md b/samples/historical-document-views-6/README.md new file mode 100644 index 0000000..f8ac2ce --- /dev/null +++ b/samples/historical-document-views-6/README.md @@ -0,0 +1,9 @@ +# route-notes + + + +A declared place for route-notes. + +## Reading route-notes + +Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-6/TARGET.bound b/samples/historical-document-views-6/TARGET.bound new file mode 100644 index 0000000..ec30eb0 --- /dev/null +++ b/samples/historical-document-views-6/TARGET.bound @@ -0,0 +1,67 @@ +bound-lock/1 about="# Collection\n\nAn item keeps its provenance.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md value=lock +bound-lock/1 about="A declared place for route-notes." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock +bound-lock/1 about="A location named in an itinerary." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=stop +bound-lock/1 about="Another reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt value=lock +bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock +bound-lock/1 about="Keep independent readings of route-notes visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock +bound-lock/1 about="Name the intended stops." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock +bound-lock/1 about="One reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt value=lock +bound-lock/1 about="Prepare the itinerary" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock +bound-lock/1 about="Reading route-notes" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock +bound-lock/1 about="Record each connection." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock +bound-lock/1 about="name: catalogue\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml value=lock +bound-lock/1 about="{\"name\":\"collection\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json value=lock +bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==" value="MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=" +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt value=text@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=lib/**/*.ts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json value=NodeNext +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=false +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2020 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=route-notes +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=3.2.1 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 role=writes scope=dep/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 value=sha256:0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c role=writes scope=dep/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c value=sha256:36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 role=writes scope=dep/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 value=sha256:df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 diff --git a/samples/historical-document-views-6/catalogue.json b/samples/historical-document-views-6/catalogue.json new file mode 100644 index 0000000..60a9299 --- /dev/null +++ b/samples/historical-document-views-6/catalogue.json @@ -0,0 +1 @@ +{"name":"collection"} diff --git a/samples/historical-document-views-6/catalogue.md b/samples/historical-document-views-6/catalogue.md new file mode 100644 index 0000000..66c04ca --- /dev/null +++ b/samples/historical-document-views-6/catalogue.md @@ -0,0 +1,3 @@ +# Collection + +An item keeps its provenance. diff --git a/samples/historical-document-views-6/catalogue.yml b/samples/historical-document-views-6/catalogue.yml new file mode 100644 index 0000000..9edb4fa --- /dev/null +++ b/samples/historical-document-views-6/catalogue.yml @@ -0,0 +1,2 @@ +name: catalogue +on: push diff --git a/samples/historical-document-views-6/docs/guide.md b/samples/historical-document-views-6/docs/guide.md new file mode 100644 index 0000000..71be267 --- /dev/null +++ b/samples/historical-document-views-6/docs/guide.md @@ -0,0 +1,4 @@ +## Prepare the itinerary + +1. Name the intended stops. +2. Record each connection. diff --git a/samples/historical-document-views-6/docs/reference.md b/samples/historical-document-views-6/docs/reference.md new file mode 100644 index 0000000..33d60e7 --- /dev/null +++ b/samples/historical-document-views-6/docs/reference.md @@ -0,0 +1,11 @@ +**stop** — A location named in an itinerary. + +| | | +|---|---| +| pin | historical | + +- [why](why.md) +- [guide](guide.md) +- [README](../README.md) +- [reference](reference.md) +- [catalogue](../catalogue.md) diff --git a/samples/historical-document-views-6/docs/why.md b/samples/historical-document-views-6/docs/why.md new file mode 100644 index 0000000..1158fcd --- /dev/null +++ b/samples/historical-document-views-6/docs/why.md @@ -0,0 +1,3 @@ +## Reading route-notes + +Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 b/samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 new file mode 100644 index 0000000..1f2fd06 --- /dev/null +++ b/samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c b/samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c new file mode 100644 index 0000000..83a9213 --- /dev/null +++ b/samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"One reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt sig=\"ed25519:sample:sLt+RfovhS0u+fpvjLh8urXfKlb2Mr55HoX/CtKD/DanPflFwfsmzw72HxuTjXJrTka1u++fMxZSTIqA64osCg==\" value=lock\nbound-lock/1 about=\"Another reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt sig=\"ed25519:sample:BH/Al1cq3cB/mgsxon2aQVB0dgCANLoHJW2PXq8/FNkUwuoJQoRUlqOE4oep0yCa//SbDZYoqcg+4J8rRJw6Aw==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=3 form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt sig=\"ed25519:sample:EgbmgGO8rlf8h2JENQf7Aes6fbXqEKc9lTRu/gn1CSAFm4HviYM9/umF9YQbgdnmocmIM5N/7gR54ZS4xb8wAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:SxCwoQDogtzG44eNLcWmDpapJWruk43f9QLdlVXT1alxYPpIFgumksToZG8vyJ05WzYKDEl02CvEJJXlRWc9CQ==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":62,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd new file mode 100644 index 0000000..361b3c4 --- /dev/null +++ b/samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd @@ -0,0 +1,4 @@ +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f +bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 +bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 new file mode 100644 index 0000000000000000000000000000000000000000..2d5e7ba4e9a10ac53af068c9419c2db0ad7da495 GIT binary patch literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 b/samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 new file mode 100644 index 0000000..6e4f839 --- /dev/null +++ b/samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:SxCwoQDogtzG44eNLcWmDpapJWruk43f9QLdlVXT1alxYPpIFgumksToZG8vyJ05WzYKDEl02CvEJJXlRWc9CQ==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 new file mode 100644 index 0000000000000000000000000000000000000000..829296b8b941f46a529f8c4f18a2571347537b14 GIT binary patch literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm literal 0 HcmV?d00001 diff --git a/samples/historical-document-views-6/receipts.bound b/samples/historical-document-views-6/receipts.bound new file mode 100644 index 0000000..e69de29 diff --git a/samples/historical-document-views-6/tsconfig.json b/samples/historical-document-views-6/tsconfig.json new file mode 100644 index 0000000..9ee866a --- /dev/null +++ b/samples/historical-document-views-6/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "module": "NodeNext", + "strict": false, + "target": "ES2020" + }, + "include": [ + "lib/**/*.ts" + ] +} diff --git a/samples/native-views/inputs/001-north.proposal b/samples/native-views/inputs/001-north.proposal new file mode 100644 index 0000000..721b457 --- /dev/null +++ b/samples/native-views/inputs/001-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/002-north.proposal b/samples/native-views/inputs/002-north.proposal new file mode 100644 index 0000000..78eaf15 --- /dev/null +++ b/samples/native-views/inputs/002-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==" value=evidence-north diff --git a/samples/native-views/inputs/003-south.proposal b/samples/native-views/inputs/003-south.proposal new file mode 100644 index 0000000..6f4d9b5 --- /dev/null +++ b/samples/native-views/inputs/003-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/004-south.proposal b/samples/native-views/inputs/004-south.proposal new file mode 100644 index 0000000..5b73195 --- /dev/null +++ b/samples/native-views/inputs/004-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==" value=evidence-south diff --git a/samples/native-views/inputs/005-alias.proposal b/samples/native-views/inputs/005-alias.proposal new file mode 100644 index 0000000..1a18e0a --- /dev/null +++ b/samples/native-views/inputs/005-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/006-alias.proposal b/samples/native-views/inputs/006-alias.proposal new file mode 100644 index 0000000..f5f4cb3 --- /dev/null +++ b/samples/native-views/inputs/006-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:cFwL9P7N4ZIHNcqb+zhcT2ggw63CaGCtf6j9fah/AEVgJKqTCDxr4cHDnrGPUOFPIZ22qBexZA89efFUS0oPBw==" value=evidence-alias diff --git a/samples/native-views/inputs/007-uncovered.proposal b/samples/native-views/inputs/007-uncovered.proposal new file mode 100644 index 0000000..f107530 --- /dev/null +++ b/samples/native-views/inputs/007-uncovered.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/008-altered.bound b/samples/native-views/inputs/008-altered.bound new file mode 100644 index 0000000..153f049 --- /dev/null +++ b/samples/native-views/inputs/008-altered.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==" value=altered diff --git a/samples/native-views/inputs/009-withdraw.proposal b/samples/native-views/inputs/009-withdraw.proposal new file mode 100644 index 0000000..5543cff --- /dev/null +++ b/samples/native-views/inputs/009-withdraw.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/010-north.proposal b/samples/native-views/inputs/010-north.proposal new file mode 100644 index 0000000..721b457 --- /dev/null +++ b/samples/native-views/inputs/010-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/011-north.proposal b/samples/native-views/inputs/011-north.proposal new file mode 100644 index 0000000..ab57bb4 --- /dev/null +++ b/samples/native-views/inputs/011-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==" value=evidence-north diff --git a/samples/native-views/inputs/012-south.proposal b/samples/native-views/inputs/012-south.proposal new file mode 100644 index 0000000..6f4d9b5 --- /dev/null +++ b/samples/native-views/inputs/012-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/013-south.proposal b/samples/native-views/inputs/013-south.proposal new file mode 100644 index 0000000..b9b75de --- /dev/null +++ b/samples/native-views/inputs/013-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==" value=evidence-south diff --git a/samples/native-views/inputs/014-alias.proposal b/samples/native-views/inputs/014-alias.proposal new file mode 100644 index 0000000..1a18e0a --- /dev/null +++ b/samples/native-views/inputs/014-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/015-alias.proposal b/samples/native-views/inputs/015-alias.proposal new file mode 100644 index 0000000..2aceb35 --- /dev/null +++ b/samples/native-views/inputs/015-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:Yb2ywTV0kJIydJaxVsaUEu94yn626IOYHo3ZYgPkk1lCUwYJeoE86WU8Vfz4DVayQ+ZVOFvQ868sIKxfHckhAA==" value=evidence-alias diff --git a/samples/native-views/inputs/016-native-receipt.proposal b/samples/native-views/inputs/016-native-receipt.proposal new file mode 100644 index 0000000..b64bb07 --- /dev/null +++ b/samples/native-views/inputs/016-native-receipt.proposal @@ -0,0 +1 @@ +bound-lock/1 at=place:sha256:78580095346ddf17ca73e05ebde2eaa632173db68e20d3ab9742c14937fb7edb by=target form=alphabet measure=digest role=writes scope=receipts value=sha256:f857b2ffeec9aa51c8a4ee6b8e0acdd795342e799287878a0f2fe84b20843042 diff --git a/samples/native-views/inputs/016-uncovered.proposal b/samples/native-views/inputs/016-uncovered.proposal new file mode 100644 index 0000000..f107530 --- /dev/null +++ b/samples/native-views/inputs/016-uncovered.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/017-altered.bound b/samples/native-views/inputs/017-altered.bound new file mode 100644 index 0000000..417f2bb --- /dev/null +++ b/samples/native-views/inputs/017-altered.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==" value=altered diff --git a/samples/native-views/inputs/017-native-receipt.proposal b/samples/native-views/inputs/017-native-receipt.proposal new file mode 100644 index 0000000..ae747d2 --- /dev/null +++ b/samples/native-views/inputs/017-native-receipt.proposal @@ -0,0 +1 @@ +bound-lock/1 at=place:sha256:78580095346ddf17ca73e05ebde2eaa632173db68e20d3ab9742c14937fb7edb by=south epoch=3 form=alphabet measure=digest role=writes scope=receipts sig="ed25519:sample:w8+HZ4CKvAfrsAx5Fnc9vCuVr1IuOiRH/UBDdtOdtRK52jkLiO95CIEki7sLG3cFUAZJjjwoGd+O7KTw1RqIDA==" value=sha256:f857b2ffeec9aa51c8a4ee6b8e0acdd795342e799287878a0f2fe84b20843042 diff --git a/samples/native-views/inputs/018-uncovered.proposal b/samples/native-views/inputs/018-uncovered.proposal new file mode 100644 index 0000000..f107530 --- /dev/null +++ b/samples/native-views/inputs/018-uncovered.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/018-withdraw.proposal b/samples/native-views/inputs/018-withdraw.proposal new file mode 100644 index 0000000..5543cff --- /dev/null +++ b/samples/native-views/inputs/018-withdraw.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/019-altered.bound b/samples/native-views/inputs/019-altered.bound new file mode 100644 index 0000000..14d086a --- /dev/null +++ b/samples/native-views/inputs/019-altered.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:E8esr8ApEXfToVnhdtjL3EW+7neashEWH/wVueVQ7SicKUqMS9+LQpi9fZ6WHx6sS4FKsRByTrBoW4cOl97sDQ==" value=altered diff --git a/samples/native-views/inputs/019-north.proposal b/samples/native-views/inputs/019-north.proposal new file mode 100644 index 0000000..721b457 --- /dev/null +++ b/samples/native-views/inputs/019-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/020-north.proposal b/samples/native-views/inputs/020-north.proposal new file mode 100644 index 0000000..d1f5501 --- /dev/null +++ b/samples/native-views/inputs/020-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==" value=evidence-north diff --git a/samples/native-views/inputs/020-withdraw.proposal b/samples/native-views/inputs/020-withdraw.proposal new file mode 100644 index 0000000..5543cff --- /dev/null +++ b/samples/native-views/inputs/020-withdraw.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/021-south.proposal b/samples/native-views/inputs/021-south.proposal new file mode 100644 index 0000000..6f4d9b5 --- /dev/null +++ b/samples/native-views/inputs/021-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/022-south.proposal b/samples/native-views/inputs/022-south.proposal new file mode 100644 index 0000000..9ec0f94 --- /dev/null +++ b/samples/native-views/inputs/022-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==" value=evidence-south diff --git a/samples/native-views/inputs/023-alias.proposal b/samples/native-views/inputs/023-alias.proposal new file mode 100644 index 0000000..1a18e0a --- /dev/null +++ b/samples/native-views/inputs/023-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/024-alias.proposal b/samples/native-views/inputs/024-alias.proposal new file mode 100644 index 0000000..a53b80f --- /dev/null +++ b/samples/native-views/inputs/024-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:PIBcWL8wdbkdUA+ltzeon7ulwFJOkHs7Gkcsjbu4rZckVnS0BAoQmRPMrr8CGuXg/41aDMTvhwGxto5IjU+JBA==" value=evidence-alias diff --git a/samples/native-views/inputs/025-uncovered.proposal b/samples/native-views/inputs/025-uncovered.proposal new file mode 100644 index 0000000..f107530 --- /dev/null +++ b/samples/native-views/inputs/025-uncovered.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/026-altered.bound b/samples/native-views/inputs/026-altered.bound new file mode 100644 index 0000000..bb2913e --- /dev/null +++ b/samples/native-views/inputs/026-altered.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==" value=altered diff --git a/samples/native-views/inputs/027-withdraw.proposal b/samples/native-views/inputs/027-withdraw.proposal new file mode 100644 index 0000000..5543cff --- /dev/null +++ b/samples/native-views/inputs/027-withdraw.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/028-north.proposal b/samples/native-views/inputs/028-north.proposal new file mode 100644 index 0000000..721b457 --- /dev/null +++ b/samples/native-views/inputs/028-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/029-north.proposal b/samples/native-views/inputs/029-north.proposal new file mode 100644 index 0000000..3267539 --- /dev/null +++ b/samples/native-views/inputs/029-north.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:stS1qqcyFQ1rXAta3AF4Qwu4jl8cw5lQlxXLQHh4WQZzsY/KNd6WKFkISjsGpOMKihJNFaKtNKYPt63UQBo4Cg==" value=evidence-north diff --git a/samples/native-views/inputs/030-south.proposal b/samples/native-views/inputs/030-south.proposal new file mode 100644 index 0000000..6f4d9b5 --- /dev/null +++ b/samples/native-views/inputs/030-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/031-south.proposal b/samples/native-views/inputs/031-south.proposal new file mode 100644 index 0000000..febfb38 --- /dev/null +++ b/samples/native-views/inputs/031-south.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:x7sDS0d/I0pSj7mEqYebNN/6D3MzJFKK5Q2ZFNKj/2pCWR8HUuwksx7g7688UtFXQRpogYoYOov3HoTiDSubAw==" value=evidence-south diff --git a/samples/native-views/inputs/032-alias.proposal b/samples/native-views/inputs/032-alias.proposal new file mode 100644 index 0000000..1a18e0a --- /dev/null +++ b/samples/native-views/inputs/032-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/033-alias.proposal b/samples/native-views/inputs/033-alias.proposal new file mode 100644 index 0000000..5e65c7c --- /dev/null +++ b/samples/native-views/inputs/033-alias.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=alias epoch=3 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:9UJRFHNK6o3B2XaP21ajRiTV9nZ2nQKgYjeXrYDKPHCrGvASgR4lKohRCURFlTT0v6fvMcRwgG7iNOqHf5Q5AQ==" value=evidence-alias diff --git a/samples/native-views/inputs/034-native-receipt.proposal b/samples/native-views/inputs/034-native-receipt.proposal new file mode 100644 index 0000000..6c26b48 --- /dev/null +++ b/samples/native-views/inputs/034-native-receipt.proposal @@ -0,0 +1 @@ +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=target form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd diff --git a/samples/native-views/inputs/035-native-receipt.proposal b/samples/native-views/inputs/035-native-receipt.proposal new file mode 100644 index 0000000..df7cf36 --- /dev/null +++ b/samples/native-views/inputs/035-native-receipt.proposal @@ -0,0 +1 @@ +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=south epoch=3 form=alphabet measure=digest role=writes scope=receipts sig="ed25519:sample:4NfUn7zUBWsuAC1G4rS4zhveVBiwNhjcLIL1+MLCY1QFtODU19NB7/Mw3DJhF+5PO0GprU7MaEmwMSfh+cUzCg==" value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd diff --git a/samples/native-views/inputs/036-uncovered.proposal b/samples/native-views/inputs/036-uncovered.proposal new file mode 100644 index 0000000..f107530 --- /dev/null +++ b/samples/native-views/inputs/036-uncovered.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/037-altered.bound b/samples/native-views/inputs/037-altered.bound new file mode 100644 index 0000000..6132a05 --- /dev/null +++ b/samples/native-views/inputs/037-altered.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:x7sDS0d/I0pSj7mEqYebNN/6D3MzJFKK5Q2ZFNKj/2pCWR8HUuwksx7g7688UtFXQRpogYoYOov3HoTiDSubAw==" value=altered diff --git a/samples/native-views/inputs/038-withdraw.proposal b/samples/native-views/inputs/038-withdraw.proposal new file mode 100644 index 0000000..5543cff --- /dev/null +++ b/samples/native-views/inputs/038-withdraw.proposal @@ -0,0 +1 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/place-1/TARGET.bound b/samples/native-views/place-1/TARGET.bound new file mode 100644 index 0000000..226b63f --- /dev/null +++ b/samples/native-views/place-1/TARGET.bound @@ -0,0 +1,39 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=authorize +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=authorize +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 +bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d role=writes scope=dep/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d value=sha256:ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb role=writes scope=dep/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb value=sha256:33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 role=writes scope=dep/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 value=sha256:24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 role=writes scope=dep/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 value=sha256:a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 role=writes scope=dep/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 value=sha256:ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 diff --git a/samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 b/samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 new file mode 100644 index 0000000..7c1c09b --- /dev/null +++ b/samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:VeNMsJ/L8liCyvdpgvmriUNvlhUKc0Ngs1o5V9VsoRu06oWhQ3i0l5hMokFUG1oGzzge82ynYnchbM308yYiDw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:naUJ61OuK/psa1YyjlGPK7B0YO/HwFHz4ffqZxRjKUijofb3o0ayoog+l9Nptqnsg5e4Un4a7gJgPh8q88LGDg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 b/samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 new file mode 100644 index 0000000..3b26316 --- /dev/null +++ b/samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 b/samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 new file mode 100644 index 0000000..a5c8873 --- /dev/null +++ b/samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:naUJ61OuK/psa1YyjlGPK7B0YO/HwFHz4ffqZxRjKUijofb3o0ayoog+l9Nptqnsg5e4Un4a7gJgPh8q88LGDg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb b/samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb new file mode 100644 index 0000000..b273d92 --- /dev/null +++ b/samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 b/samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 new file mode 100644 index 0000000..637e179 --- /dev/null +++ b/samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:VeNMsJ/L8liCyvdpgvmriUNvlhUKc0Ngs1o5V9VsoRu06oWhQ3i0l5hMokFUG1oGzzge82ynYnchbM308yYiDw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:z2uS9VhI4z6QlIRAB91eGD5qUfE1LI1SlVhcgz+utKLHDVRCk/RYsNebUXDQuOFPvQwPS2ji6TBNDGHl0H2NAA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:naUJ61OuK/psa1YyjlGPK7B0YO/HwFHz4ffqZxRjKUijofb3o0ayoog+l9Nptqnsg5e4Un4a7gJgPh8q88LGDg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 b/samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 new file mode 100644 index 0000000..bbe2e3f --- /dev/null +++ b/samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:cFwL9P7N4ZIHNcqb+zhcT2ggw63CaGCtf6j9fah/AEVgJKqTCDxr4cHDnrGPUOFPIZ22qBexZA89efFUS0oPBw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 b/samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 new file mode 100644 index 0000000..5a11997 --- /dev/null +++ b/samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d b/samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d new file mode 100644 index 0000000..d0c7849 --- /dev/null +++ b/samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 b/samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 new file mode 100644 index 0000000..0b04bd9 --- /dev/null +++ b/samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 b/samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 new file mode 100644 index 0000000..57ea409 --- /dev/null +++ b/samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:cFwL9P7N4ZIHNcqb+zhcT2ggw63CaGCtf6j9fah/AEVgJKqTCDxr4cHDnrGPUOFPIZ22qBexZA89efFUS0oPBw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:D9u/0mTbA5wPrqusLb06IWsQNkhrTyGNC/6W8kN/t5SxXsVD6NUNAkAhjHXi53JPgkjozjDM1RgPLZPyqO9rDA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/receipts.bound b/samples/native-views/place-1/receipts.bound new file mode 100644 index 0000000..450e68f --- /dev/null +++ b/samples/native-views/place-1/receipts.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:c29a49606491aafb3e2081ba43695b2e746430f71c9e1db2521540ab7ab8316a by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:c29a49606491aafb3e2081ba43695b2e746430f71c9e1db2521540ab7ab8316a diff --git a/samples/native-views/place-2/TARGET.bound b/samples/native-views/place-2/TARGET.bound new file mode 100644 index 0000000..e743de3 --- /dev/null +++ b/samples/native-views/place-2/TARGET.bound @@ -0,0 +1,39 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=read +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=read +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 +bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 role=writes scope=dep/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 value=sha256:48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 role=writes scope=dep/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 value=sha256:622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c role=writes scope=dep/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c value=sha256:62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 role=writes scope=dep/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 value=sha256:0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d role=writes scope=dep/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d value=sha256:6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d diff --git a/samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 b/samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 new file mode 100644 index 0000000..2d60398 --- /dev/null +++ b/samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:Yb2ywTV0kJIydJaxVsaUEu94yn626IOYHo3ZYgPkk1lCUwYJeoE86WU8Vfz4DVayQ+ZVOFvQ868sIKxfHckhAA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac b/samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac new file mode 100644 index 0000000..814f83e --- /dev/null +++ b/samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:Ftk4VNpC/NO2enwZvFDouR4AX/y3oCx3IXRKueAfiBBPTStEna1dXBNugbHhQ5i01Le5IfNKNTZXRB6Qdj19BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:zTdQPaDkI2QPzXcBIChRPZhsfL8YYhuaD/raPnXM5EaZKSrDp/H23MFVt41UqkroAtbvmXiFGmAkUQKf4hDlDA==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:p7g5h0NoKp56oGrQQfFIw7PJRMsvlW7/0skfgmrG7047VBqEBm6yF0pijk7jZ5ckyT9NUaTJQLFZf0koxaSxCQ==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UAkKOh6k1Lcziqg1lUxfLXXSngt5Zt2C0xU4aBV51AgwubgNxuQC9qgVsrAtuaR/tnlrB20oA+aTZdJiIgcSBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:cDfdz/ja2XgnPJgzEMuSzz3TDbk19vvJnXO/Nu2m+Lx8yeSI8cqDGf8qwPQP2LIQoXUpDrv811Y8PBnFMVyRCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:huYTtdNSV6mdvsW8qC/Qev1GJI88LhKCakzjJrScVzDADgywtTyEgBFFvnogET0dlWPw+Mr+SKT1A1vOUdaWDw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:ecptdOWAQSwq8Y39JK8aQ3TPlacU48p2XqWO4bR/XPuaCCXKFI7ZWpCByabibDX7ZUsMFZI3ep1VhZj9VBHmDw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hs6yzdDGfDoAEO6ANcfC2Ah2VTZYyuk3F0UAKoJkbwowre7ffZ6VvQK1X4dByJSng6onaNqDGYQYrWV5DNVNBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:vDSawUX0zy4DoQU8bqfc+NrPPYoQEIxPsq/0AkAHS6aOZaHoW0QvdnyVju9UPjoSdfCFvE/RbsMUlFcbp2YMAg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:OeVdppHueXny6g8DK2KsYD2Ry3ERf8hVNu2V4IIKhDONP9/Lllbmk3rI2YX0aq725Aj+RhsK3duGkJmaWA5rDg==\" value=\"MCowBQYDK2VwAyEAVDvEkrH8DkZFGZdQrQN3b2wg5aWq4vI4tNQ472AVrmQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:tW1pw0OdtZM9fdh7UgK1HnDzy/0299JimlxATzHqmkrmBmFneS9X1JbEuHVLxvXWmslErODDDuHKWN/wz2oIBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:bdvbehpsne6ROiDcKKErZvi+VT7cdB/2l80IHS3v41xISw1YrBqhZvmEL8Om1qvEO40DkvOpwjIOMtUbtK0ZAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:Ctup/8GF496gpcE+tj+WdUybTZkDO6eL6DXK2Jzr9UWToue1iFJ3qLzikEt6qIGm3kSz8+ZfzHSyKN5ryCx+BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:APELqXxM8PjUG20YYLns95hNToj/JaVaPofX+wSUZ0hL7lFxne3xdqO6h7mpFIkN9yXMimJUKnaGWD2Pbnv7Bw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:DUgS2LZ4f9/sLlgF9Zh00w4dcveu0bqVKJ87NE8lqPwW4uBq/Z1/D2s+tyX8Eh1XdoqIjaVAGYLWwduQgOJ/BA==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DvJUZtXCRFDG3tL2IlRUPrFX4JC93anuQ84Xs36VBtWxgOs70Q7w7Sr3Dq8klnYySW9E5S1JHHbtZ6jBWGtDAg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:cSdu5Jn1xsrhcikS4m1+STJEipNWNzl+2WnQRV8juw03NP32xMDZV2XCTwYK8PlZrf/3DCgsqv/h8nd4GcjKCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:rlpN3d2X/isJW7skGsVoVIkWzOrNHYnTzu4kvMY4Zb15eiDgyuHzSAVRB6yFaMXiWipgUGGKgInHEHPUodQYCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:5K+2eLXvgDozssc7c0l01jGdn++KfKszqzJLcfEh9k5bQvl4jYmw8uEKJSmXq/p8uq4+2q18PBit1m8ZAGraDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:NJCnhTCdsCJM7v7E9kpq3b+msZ6ENHRQTVMH9fggfA2/ndgDBHOjtGWhTAoIdvknE4SMfyETramNaDwWxOYmAQ==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:xJwKvW7F8KAOMvSQsesbp6sL7jW14R3dnxk2RNbyfIZ4hkXmPpKpYxj0rxooKBt0nfV6yeMIo6ryiIV15gWtDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:FmXRciS6+kBekPsdtUW8TC5LsaLFNFmvFUVf8eAAb+SxlMtA3JBqkLsk6eJBh8Wg42ooYoucwOrZjJ0XSlPVCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:mc7fCoHaQooBkGtcL/gv78FcPlHRT/ce0+b64pCdgClJYf6OfZVTIWeukZOLmwI8Ts2cSXAZTa9oGWd3A2ZKCQ==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:snIqOQD5F+Tg6krE7Z/kuOA11Tm1UoD1eXQbeQfsYRNkbeGasTsrh6ZBLU5ma66jPZeO12UfLRad/4FBkEA/Cg==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:O56jgmGypeYOmV4+3sM8ufjywd4HhF67CS0oYG+39xrE+bdBPcYNfdwQww/buEoOVBJEBs+mZb0gaYsbOcAjCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yWXhceJI/xC263+DRoQ4WMRw2dGvIDrgoWvT8qhaTICOC1jGBn2/A2qcEQz0SpVu7lMTNNbJqwbgB3n46fbtDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zM/ebOCssSiklDvQdNp2j61fcDNYxMuvtY+pzaHdTwWeDzi/gGIgV+hFdMumk6HdaazcKUxTNUWa+8TdLAAkCw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:ZsrkSSzpv0z/LZ03gQqgQvmhSUHScPzjA7e67sCbXQyypNi1esq4wF3W6cVyhHfINWFPRuMcsIWwiw+Oj3FHBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:B2auBi7+D4KNWoZZuxFfWD4pdeRTdFFFCiv+raJN26y0W0gNt7UI0vUYGdMUNxr0/fqVn6daDicJ/7VNqd43CA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:v3p1RBsY2rVSnJ1hxdhulE4a/cvjVuExO8qXGSqNzm/oKx8yPkOFXTq0dtdnT44lXLd5RZSzVG5b4CW5Y4pkCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:vivvh+PNljjXfGYkMtxhd/bR648sBx9v9Kz95CIuzqqAgWQKIR2PPqtyY2aebgnvPGtgQ+ZJR/sA+Qebk+6QAw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:3UMBmZ1ls4HXHxR2fiMR9l3TXZFTX6lAFHciYCQgNjpywk+4PKuUJMGWgeDsg8YQ0gkEXBeGmRTMJvmljTwYBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:AbVk+Lp+YsjkbmCSADeJU9IZZA+9xR3MMOGIl5D0zGsJ2Zc8rlldtFJlAoHCJmMIH57AHAuWOpN2mXTA1b50AQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:s4S8G+AZ8gJ5ZzOUidO2NfArzM+6eKaTQlwuSXJLARBvYXSVXON31wUrvaGJWj5KfMp8Fh3BNYHal5BRw1pHAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:iGLaWVWF79akes+dNPTob8eA65Vj4zYpw/NgPuugIHMk+WaldhQ/oE0JOgZQLR2p6ImdgVJr/IeBgosbPcYWBw==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab b/samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab new file mode 100644 index 0000000..5d78b75 --- /dev/null +++ b/samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:Ftk4VNpC/NO2enwZvFDouR4AX/y3oCx3IXRKueAfiBBPTStEna1dXBNugbHhQ5i01Le5IfNKNTZXRB6Qdj19BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:zTdQPaDkI2QPzXcBIChRPZhsfL8YYhuaD/raPnXM5EaZKSrDp/H23MFVt41UqkroAtbvmXiFGmAkUQKf4hDlDA==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:p7g5h0NoKp56oGrQQfFIw7PJRMsvlW7/0skfgmrG7047VBqEBm6yF0pijk7jZ5ckyT9NUaTJQLFZf0koxaSxCQ==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UAkKOh6k1Lcziqg1lUxfLXXSngt5Zt2C0xU4aBV51AgwubgNxuQC9qgVsrAtuaR/tnlrB20oA+aTZdJiIgcSBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:cDfdz/ja2XgnPJgzEMuSzz3TDbk19vvJnXO/Nu2m+Lx8yeSI8cqDGf8qwPQP2LIQoXUpDrv811Y8PBnFMVyRCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:huYTtdNSV6mdvsW8qC/Qev1GJI88LhKCakzjJrScVzDADgywtTyEgBFFvnogET0dlWPw+Mr+SKT1A1vOUdaWDw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:ecptdOWAQSwq8Y39JK8aQ3TPlacU48p2XqWO4bR/XPuaCCXKFI7ZWpCByabibDX7ZUsMFZI3ep1VhZj9VBHmDw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hs6yzdDGfDoAEO6ANcfC2Ah2VTZYyuk3F0UAKoJkbwowre7ffZ6VvQK1X4dByJSng6onaNqDGYQYrWV5DNVNBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:vDSawUX0zy4DoQU8bqfc+NrPPYoQEIxPsq/0AkAHS6aOZaHoW0QvdnyVju9UPjoSdfCFvE/RbsMUlFcbp2YMAg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:OeVdppHueXny6g8DK2KsYD2Ry3ERf8hVNu2V4IIKhDONP9/Lllbmk3rI2YX0aq725Aj+RhsK3duGkJmaWA5rDg==\" value=\"MCowBQYDK2VwAyEAVDvEkrH8DkZFGZdQrQN3b2wg5aWq4vI4tNQ472AVrmQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:tW1pw0OdtZM9fdh7UgK1HnDzy/0299JimlxATzHqmkrmBmFneS9X1JbEuHVLxvXWmslErODDDuHKWN/wz2oIBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:bdvbehpsne6ROiDcKKErZvi+VT7cdB/2l80IHS3v41xISw1YrBqhZvmEL8Om1qvEO40DkvOpwjIOMtUbtK0ZAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:Ctup/8GF496gpcE+tj+WdUybTZkDO6eL6DXK2Jzr9UWToue1iFJ3qLzikEt6qIGm3kSz8+ZfzHSyKN5ryCx+BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:APELqXxM8PjUG20YYLns95hNToj/JaVaPofX+wSUZ0hL7lFxne3xdqO6h7mpFIkN9yXMimJUKnaGWD2Pbnv7Bw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:DUgS2LZ4f9/sLlgF9Zh00w4dcveu0bqVKJ87NE8lqPwW4uBq/Z1/D2s+tyX8Eh1XdoqIjaVAGYLWwduQgOJ/BA==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DvJUZtXCRFDG3tL2IlRUPrFX4JC93anuQ84Xs36VBtWxgOs70Q7w7Sr3Dq8klnYySW9E5S1JHHbtZ6jBWGtDAg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:cSdu5Jn1xsrhcikS4m1+STJEipNWNzl+2WnQRV8juw03NP32xMDZV2XCTwYK8PlZrf/3DCgsqv/h8nd4GcjKCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:rlpN3d2X/isJW7skGsVoVIkWzOrNHYnTzu4kvMY4Zb15eiDgyuHzSAVRB6yFaMXiWipgUGGKgInHEHPUodQYCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=3 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:WT73aE/UlgqhcRmghqesjgW14SSMdrTKI71UZsHKrBcaTzaGa2S264555jCNfYA2ojmBhiHfVbRsUDK6M9OlDw==\" value=withdraw\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:5K+2eLXvgDozssc7c0l01jGdn++KfKszqzJLcfEh9k5bQvl4jYmw8uEKJSmXq/p8uq4+2q18PBit1m8ZAGraDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:NJCnhTCdsCJM7v7E9kpq3b+msZ6ENHRQTVMH9fggfA2/ndgDBHOjtGWhTAoIdvknE4SMfyETramNaDwWxOYmAQ==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:xJwKvW7F8KAOMvSQsesbp6sL7jW14R3dnxk2RNbyfIZ4hkXmPpKpYxj0rxooKBt0nfV6yeMIo6ryiIV15gWtDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:FmXRciS6+kBekPsdtUW8TC5LsaLFNFmvFUVf8eAAb+SxlMtA3JBqkLsk6eJBh8Wg42ooYoucwOrZjJ0XSlPVCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:mc7fCoHaQooBkGtcL/gv78FcPlHRT/ce0+b64pCdgClJYf6OfZVTIWeukZOLmwI8Ts2cSXAZTa9oGWd3A2ZKCQ==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:snIqOQD5F+Tg6krE7Z/kuOA11Tm1UoD1eXQbeQfsYRNkbeGasTsrh6ZBLU5ma66jPZeO12UfLRad/4FBkEA/Cg==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:O56jgmGypeYOmV4+3sM8ufjywd4HhF67CS0oYG+39xrE+bdBPcYNfdwQww/buEoOVBJEBs+mZb0gaYsbOcAjCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yWXhceJI/xC263+DRoQ4WMRw2dGvIDrgoWvT8qhaTICOC1jGBn2/A2qcEQz0SpVu7lMTNNbJqwbgB3n46fbtDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zM/ebOCssSiklDvQdNp2j61fcDNYxMuvtY+pzaHdTwWeDzi/gGIgV+hFdMumk6HdaazcKUxTNUWa+8TdLAAkCw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:ZsrkSSzpv0z/LZ03gQqgQvmhSUHScPzjA7e67sCbXQyypNi1esq4wF3W6cVyhHfINWFPRuMcsIWwiw+Oj3FHBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:B2auBi7+D4KNWoZZuxFfWD4pdeRTdFFFCiv+raJN26y0W0gNt7UI0vUYGdMUNxr0/fqVn6daDicJ/7VNqd43CA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:v3p1RBsY2rVSnJ1hxdhulE4a/cvjVuExO8qXGSqNzm/oKx8yPkOFXTq0dtdnT44lXLd5RZSzVG5b4CW5Y4pkCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:vivvh+PNljjXfGYkMtxhd/bR648sBx9v9Kz95CIuzqqAgWQKIR2PPqtyY2aebgnvPGtgQ+ZJR/sA+Qebk+6QAw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:3UMBmZ1ls4HXHxR2fiMR9l3TXZFTX6lAFHciYCQgNjpywk+4PKuUJMGWgeDsg8YQ0gkEXBeGmRTMJvmljTwYBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:AbVk+Lp+YsjkbmCSADeJU9IZZA+9xR3MMOGIl5D0zGsJ2Zc8rlldtFJlAoHCJmMIH57AHAuWOpN2mXTA1b50AQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:s4S8G+AZ8gJ5ZzOUidO2NfArzM+6eKaTQlwuSXJLARBvYXSVXON31wUrvaGJWj5KfMp8Fh3BNYHal5BRw1pHAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:iGLaWVWF79akes+dNPTob8eA65Vj4zYpw/NgPuugIHMk+WaldhQ/oE0JOgZQLR2p6ImdgVJr/IeBgosbPcYWBw==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:iffTskKrGz8SGBn2tgtewuJOV5ENhkt6t+jqG6eq2nLtjHu/yl2W8nX0/dI3zOjFBzbXjbrYOE7+1E9FMRXPCw==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 b/samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 new file mode 100644 index 0000000..f58c352 --- /dev/null +++ b/samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 b/samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 new file mode 100644 index 0000000..f68a80f --- /dev/null +++ b/samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c b/samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c new file mode 100644 index 0000000..d4cb755 --- /dev/null +++ b/samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d b/samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d new file mode 100644 index 0000000..fdce0fb --- /dev/null +++ b/samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:Yb2ywTV0kJIydJaxVsaUEu94yn626IOYHo3ZYgPkk1lCUwYJeoE86WU8Vfz4DVayQ+ZVOFvQ868sIKxfHckhAA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:N3PZhfDNRtNoJ0G9A0XCJOrM8k0R+6/QNQBojKH6ATWTU3/NPD1IzX9YKnqB/s21ngqRuv+SM1k5PoNp/7TQCw==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 b/samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 new file mode 100644 index 0000000..0986169 --- /dev/null +++ b/samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:Ftk4VNpC/NO2enwZvFDouR4AX/y3oCx3IXRKueAfiBBPTStEna1dXBNugbHhQ5i01Le5IfNKNTZXRB6Qdj19BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:zTdQPaDkI2QPzXcBIChRPZhsfL8YYhuaD/raPnXM5EaZKSrDp/H23MFVt41UqkroAtbvmXiFGmAkUQKf4hDlDA==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:p7g5h0NoKp56oGrQQfFIw7PJRMsvlW7/0skfgmrG7047VBqEBm6yF0pijk7jZ5ckyT9NUaTJQLFZf0koxaSxCQ==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UAkKOh6k1Lcziqg1lUxfLXXSngt5Zt2C0xU4aBV51AgwubgNxuQC9qgVsrAtuaR/tnlrB20oA+aTZdJiIgcSBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:cDfdz/ja2XgnPJgzEMuSzz3TDbk19vvJnXO/Nu2m+Lx8yeSI8cqDGf8qwPQP2LIQoXUpDrv811Y8PBnFMVyRCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:huYTtdNSV6mdvsW8qC/Qev1GJI88LhKCakzjJrScVzDADgywtTyEgBFFvnogET0dlWPw+Mr+SKT1A1vOUdaWDw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:ecptdOWAQSwq8Y39JK8aQ3TPlacU48p2XqWO4bR/XPuaCCXKFI7ZWpCByabibDX7ZUsMFZI3ep1VhZj9VBHmDw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hs6yzdDGfDoAEO6ANcfC2Ah2VTZYyuk3F0UAKoJkbwowre7ffZ6VvQK1X4dByJSng6onaNqDGYQYrWV5DNVNBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:vDSawUX0zy4DoQU8bqfc+NrPPYoQEIxPsq/0AkAHS6aOZaHoW0QvdnyVju9UPjoSdfCFvE/RbsMUlFcbp2YMAg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:OeVdppHueXny6g8DK2KsYD2Ry3ERf8hVNu2V4IIKhDONP9/Lllbmk3rI2YX0aq725Aj+RhsK3duGkJmaWA5rDg==\" value=\"MCowBQYDK2VwAyEAVDvEkrH8DkZFGZdQrQN3b2wg5aWq4vI4tNQ472AVrmQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:tW1pw0OdtZM9fdh7UgK1HnDzy/0299JimlxATzHqmkrmBmFneS9X1JbEuHVLxvXWmslErODDDuHKWN/wz2oIBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:bdvbehpsne6ROiDcKKErZvi+VT7cdB/2l80IHS3v41xISw1YrBqhZvmEL8Om1qvEO40DkvOpwjIOMtUbtK0ZAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:Ctup/8GF496gpcE+tj+WdUybTZkDO6eL6DXK2Jzr9UWToue1iFJ3qLzikEt6qIGm3kSz8+ZfzHSyKN5ryCx+BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:APELqXxM8PjUG20YYLns95hNToj/JaVaPofX+wSUZ0hL7lFxne3xdqO6h7mpFIkN9yXMimJUKnaGWD2Pbnv7Bw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:DUgS2LZ4f9/sLlgF9Zh00w4dcveu0bqVKJ87NE8lqPwW4uBq/Z1/D2s+tyX8Eh1XdoqIjaVAGYLWwduQgOJ/BA==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DvJUZtXCRFDG3tL2IlRUPrFX4JC93anuQ84Xs36VBtWxgOs70Q7w7Sr3Dq8klnYySW9E5S1JHHbtZ6jBWGtDAg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:cSdu5Jn1xsrhcikS4m1+STJEipNWNzl+2WnQRV8juw03NP32xMDZV2XCTwYK8PlZrf/3DCgsqv/h8nd4GcjKCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:rlpN3d2X/isJW7skGsVoVIkWzOrNHYnTzu4kvMY4Zb15eiDgyuHzSAVRB6yFaMXiWipgUGGKgInHEHPUodQYCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:iffTskKrGz8SGBn2tgtewuJOV5ENhkt6t+jqG6eq2nLtjHu/yl2W8nX0/dI3zOjFBzbXjbrYOE7+1E9FMRXPCw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:5K+2eLXvgDozssc7c0l01jGdn++KfKszqzJLcfEh9k5bQvl4jYmw8uEKJSmXq/p8uq4+2q18PBit1m8ZAGraDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:NJCnhTCdsCJM7v7E9kpq3b+msZ6ENHRQTVMH9fggfA2/ndgDBHOjtGWhTAoIdvknE4SMfyETramNaDwWxOYmAQ==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:xJwKvW7F8KAOMvSQsesbp6sL7jW14R3dnxk2RNbyfIZ4hkXmPpKpYxj0rxooKBt0nfV6yeMIo6ryiIV15gWtDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:FmXRciS6+kBekPsdtUW8TC5LsaLFNFmvFUVf8eAAb+SxlMtA3JBqkLsk6eJBh8Wg42ooYoucwOrZjJ0XSlPVCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:mc7fCoHaQooBkGtcL/gv78FcPlHRT/ce0+b64pCdgClJYf6OfZVTIWeukZOLmwI8Ts2cSXAZTa9oGWd3A2ZKCQ==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:snIqOQD5F+Tg6krE7Z/kuOA11Tm1UoD1eXQbeQfsYRNkbeGasTsrh6ZBLU5ma66jPZeO12UfLRad/4FBkEA/Cg==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:O56jgmGypeYOmV4+3sM8ufjywd4HhF67CS0oYG+39xrE+bdBPcYNfdwQww/buEoOVBJEBs+mZb0gaYsbOcAjCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yWXhceJI/xC263+DRoQ4WMRw2dGvIDrgoWvT8qhaTICOC1jGBn2/A2qcEQz0SpVu7lMTNNbJqwbgB3n46fbtDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zM/ebOCssSiklDvQdNp2j61fcDNYxMuvtY+pzaHdTwWeDzi/gGIgV+hFdMumk6HdaazcKUxTNUWa+8TdLAAkCw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:ZsrkSSzpv0z/LZ03gQqgQvmhSUHScPzjA7e67sCbXQyypNi1esq4wF3W6cVyhHfINWFPRuMcsIWwiw+Oj3FHBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:B2auBi7+D4KNWoZZuxFfWD4pdeRTdFFFCiv+raJN26y0W0gNt7UI0vUYGdMUNxr0/fqVn6daDicJ/7VNqd43CA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:v3p1RBsY2rVSnJ1hxdhulE4a/cvjVuExO8qXGSqNzm/oKx8yPkOFXTq0dtdnT44lXLd5RZSzVG5b4CW5Y4pkCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:vivvh+PNljjXfGYkMtxhd/bR648sBx9v9Kz95CIuzqqAgWQKIR2PPqtyY2aebgnvPGtgQ+ZJR/sA+Qebk+6QAw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:3UMBmZ1ls4HXHxR2fiMR9l3TXZFTX6lAFHciYCQgNjpywk+4PKuUJMGWgeDsg8YQ0gkEXBeGmRTMJvmljTwYBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:AbVk+Lp+YsjkbmCSADeJU9IZZA+9xR3MMOGIl5D0zGsJ2Zc8rlldtFJlAoHCJmMIH57AHAuWOpN2mXTA1b50AQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:s4S8G+AZ8gJ5ZzOUidO2NfArzM+6eKaTQlwuSXJLARBvYXSVXON31wUrvaGJWj5KfMp8Fh3BNYHal5BRw1pHAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:iGLaWVWF79akes+dNPTob8eA65Vj4zYpw/NgPuugIHMk+WaldhQ/oE0JOgZQLR2p6ImdgVJr/IeBgosbPcYWBw==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/receipts.bound b/samples/native-views/place-2/receipts.bound new file mode 100644 index 0000000..4951d91 --- /dev/null +++ b/samples/native-views/place-2/receipts.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:2b77209f54a0ee4e265c6211ad04d5a330e027df216e5e5e97e1dc6fe64f4cab by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:2b77209f54a0ee4e265c6211ad04d5a330e027df216e5e5e97e1dc6fe64f4cab diff --git a/samples/native-views/place-3/TARGET.bound b/samples/native-views/place-3/TARGET.bound new file mode 100644 index 0000000..9a5ac15 --- /dev/null +++ b/samples/native-views/place-3/TARGET.bound @@ -0,0 +1,39 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=access +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=access +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 +bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 role=writes scope=dep/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 value=sha256:d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d role=writes scope=dep/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d value=sha256:0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 role=writes scope=dep/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 value=sha256:32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 role=writes scope=dep/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 value=sha256:a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 role=writes scope=dep/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 value=sha256:aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 diff --git a/samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d b/samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d new file mode 100644 index 0000000..2adeaba --- /dev/null +++ b/samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 b/samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 new file mode 100644 index 0000000..d0406c8 --- /dev/null +++ b/samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 b/samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 new file mode 100644 index 0000000..e5d4b2a --- /dev/null +++ b/samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:PIBcWL8wdbkdUA+ltzeon7ulwFJOkHs7Gkcsjbu4rZckVnS0BAoQmRPMrr8CGuXg/41aDMTvhwGxto5IjU+JBA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 b/samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 new file mode 100644 index 0000000..6eeb7bb --- /dev/null +++ b/samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:PIBcWL8wdbkdUA+ltzeon7ulwFJOkHs7Gkcsjbu4rZckVnS0BAoQmRPMrr8CGuXg/41aDMTvhwGxto5IjU+JBA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:ugHa0dCQuhLMx3U1BX+bjWdnRGsiLxmO6iUPAUsXqCyNy8mle7bhhJjkhFPUp6lyS1JA4ygYKHKOCgPZH0O6DA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 b/samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 new file mode 100644 index 0000000..4fa666a --- /dev/null +++ b/samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/receipts.bound b/samples/native-views/place-3/receipts.bound new file mode 100644 index 0000000..376044e --- /dev/null +++ b/samples/native-views/place-3/receipts.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:7a768a93f62225ff537a05d83577ee776d68c42b97064cbbb38dd5ef65e3fea7 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:7a768a93f62225ff537a05d83577ee776d68c42b97064cbbb38dd5ef65e3fea7 diff --git a/samples/native-views/place-4/TARGET.bound b/samples/native-views/place-4/TARGET.bound new file mode 100644 index 0000000..beb298d --- /dev/null +++ b/samples/native-views/place-4/TARGET.bound @@ -0,0 +1,38 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-fold value=fold +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=attest +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south|receipts +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=attest +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias|receipts +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 +bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 role=writes scope=dep/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 value=sha256:980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 role=writes scope=dep/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 value=sha256:0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 role=writes scope=dep/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 value=sha256:87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 diff --git a/samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 b/samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 new file mode 100644 index 0000000..6bc896a --- /dev/null +++ b/samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:9oAGsh0mOm/adDs2tcileyZOs1kxAurn/x2UjvdGK/D5OlNiO8jWxxUOJBcRFyPBOrM2BXDt30c/E37eUs59BQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:Bn0KEdE0NqqqdRpg195ryXN/bWw44qZKZptcrUWIa1PlkiW5DLn/qnP82ZoTxQzWIaLao1AtxfVdpMSMNh8gBg==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:FhoRv+em5y2/uWR9EwM8X5KNu0ucBvXn/KUm6lvYeoq4RQXpJi/6cKnYUsW4j7zKGdpgFzji/jjbe8J1TgF2Cg==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UL+xb9zY0Kx/j89tW2aEcukrU2wepw7bU+fd/NyFhLy3wo2mZu7dq1CiTkw1xiI4iqh4/+fSRZyrxHwYtmhHDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:0A4BP5a/7PUUiJ7hCEif69hwUA4hyYcDtHmo+6O90+ZSAHP4Vekke3q2PoDaPiwYtvcqDmIdjXmqbuf9eejOCQ==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:fWRR0CDU8B1ciQRV0jXPVPiwIqKl2VXM/ottA1sadnVqRUDlTfUMEU72AwROF3UUVFUW/e5tTcb5PoSGXWw5AQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:wekK2ZFQWAqGdXjX3KHviiJP1eE5bpL2CbhFGDeHrKJX8J7TRWigKfS+Zf/GM/LzFuvcKxGJP7CBKkgCZfBzAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:69WIk8rdSf3TPfstD3aKGpCv+VfPIzBSmJuZMIVc2sAB+HKK3EWHCVsOMb7Yw9mdUa8e74OFGzKuaCRT6pqoAw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:r4ktrAFskLWehAOA2vxfVKSqmLCO9sHrfoXErkZ5lbZUWVdi2dAF6tmWbq2SgUFTSGb0yMgyvlZ/1f+NnH5CBA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:/iloewG2Rp8zPufoErJF7+zxYFf/9y1pWGxHDC9QaaBWWtjdxGJznS0LMg/NNUUMyb2EJRv8yZP0wWFGmn//Bw==\" value=\"MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:2czXTnyCwjHUviI9eD0OGikCDv+bZirDpOvI1aniniCRB5W6yFxv2XCyBycj+oeTYdQSQUZBPBg4jn34gwvSCw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:Iun9zomU8ulkPm63fham8RBAvHvejBqOihU75oiYsoQKCFzFbxNKYqZJixdmM9Wmbv7C9KSYl8NOC8tOSuODAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:45gmPJaxMxONm4xTEwWXtUXup7HO2qKLVqmzmI1JFxpeEoLZV+a75EzZ69Vo2TI/MnoqOlCPc4wk0fNY2uWZBQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:7qzS0EO+6KdLxJiLhvMgWO2UtsbpC43hLGx6CxMQX1nxwjv+X9B26ZkYbtn7S42lN9VvkIE3W8Ob/OffgRemDw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:aIXz5QqrhwwP9onojReoYDoDRb2/M0EjuTFxy8026Ln4HWvarUdr2wNycEWuv77op/zH1pDGarjliCgrZAENDA==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:v9efmyLLNmEAtBtHAmzja9qU+RHAzSzJb46Hz1L2Pd+9XNOlph/MZSKzCzonGfByEmbwqqJxIAmHjyihf3yrCg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:3uSBYgYE9Ash8yVL//BVKdgZ0yIQWML9QT7WdbnKeJcIR00L3IL6E+EJLDM90tcM8VEJ9FVnSlBZbvPX2HxxDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ayd5qRGRxTk7QySeoC+RxZi+/HIF/PwFN8gZ0g/XCrPExoSKYIWpmK5FjPeopMaW1KDDnniUkPtScPNfsOIqDQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:stS1qqcyFQ1rXAta3AF4Qwu4jl8cw5lQlxXLQHh4WQZzsY/KNd6WKFkISjsGpOMKihJNFaKtNKYPt63UQBo4Cg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:mPH/fYN6H+0QUIywdtIFvR3x8sVWbko3Qgg64/IXv+eyYkiPGxrXuaqpgmIB0WY0ly6bpk4M0DR8NTnI7cfUCA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aBL4WfNn9c23rD+fEm7+BuhvpsfWgl8ABjlWv6O/igvH5X5Olvb/99M36HLDd85Vq40xuhmDiYEve3v0TpKWBA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:VkET0n9h4BOB1xICtxSRJ7KiCCt5+Ry/qgWIOVuEWs2/KsU/RMPf3hmpAniQDGFHEt+MBelGWVVPXCSTprUJAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:MdZATnmpsLOfKn+93uPQQzchIAtrk0CIAY+UqOPwnu20lC4QKz058a1052aFfUxhAJ8jOErw7Dr4hXZPTDxgCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:dlACk4oHZ9hnVDX6eJFIVws2bThs/k7eD5k7Ru9R87FkgT/q+wlZP0ez5jWRyZ7vGLA4mUWdIOnUFYAttIxYCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ydTnMdsB+PREwYv/pDSFXcTLl8WEYLkDSyhbShX7HbweCTDVJcrXhlomOalQlrJuHo2Gu2iB4rHldZgfI4M4Bw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:EmQnhreqBZDcvQeej7abR22g/jYSABKuOvUt3wmDSmBwdqFqUqsXfoiEMbAO2yvu5OHPf8UuMjnhHS9O7+MXCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8lkFEftq+bKbdi9YqeAN99t1YH5c3/WArGuol9oobvdv/hIQ6GsVL9pMHaFF9BBSL4SvRxdHUX5UAcT/qKGQAw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:v2bDbQR4sqKTzdYeRHcAvAjZITFO8SyRK5rSuGFJ4kGOxtEfkMiy2BgSEoSue+CS+gbYrIuVCd++mG2AE1UdAA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Pi+EjhmmYnN5BRCRwVleoO2HTntUZ/8Ncx9zCk/KX3+6oE1dGxUqImEQtK/W5iPJ7AFDDNypbzjgyIuD14keDw==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:DTTKObPYmZHD5ObLZr/cUnVW8RtgYXgnMpvRWLzkoLBZgdUz8tap8Izx3NSfIt3Fw929tvhO/NtZuWPnXQeLDw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:aKD8s0SNzDCjqQfMLoA/g+xTVTbqCyOkHH5AoxrUuG1OZN8XDxPqC876QL35+stXQKbcMOrWDfIG/7bj5aBWDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:TvDaXUoAv+VIrXyUkOWEFbo9dqTpX24d+tqUMVTN+5AYh0ZfOyyOTguOJm3rH7Z3ppZVBXHkKrFoyjZ7RBlsBg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Fazk1VCAvgjaTzWW/3nOVvcy2qtURTYtUfeHhIGiWCxfQ84R/ZTm2SKxgsg9y+Hh2/kPGwXOSfSsmoIxEmYMAQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:oLC12gJlGDwTzJVcKlPE+K9k1MrM1wOFfQrbGe7StKuPOsqwckCNo4h9sUlOLFv6xJtSbY36tuTYr46gVpGNBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:hMSisg3sovORDOWGA3X2lDRcLqf/e5cZBkK/Wn/i9LI/UIacfgkxLZT7YpFTaH8Q7ASM+eTHIaae6upaHf1BAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:XKf678iiC32PvJTCB3PKh8+0RUWG8SiejxJv+qAmBcmQ98BmgQZt1LQUKGOyqM6VTkQx1Dvrcoyi/OtiHxiLBg==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 b/samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 new file mode 100644 index 0000000..2eaae92 --- /dev/null +++ b/samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:9oAGsh0mOm/adDs2tcileyZOs1kxAurn/x2UjvdGK/D5OlNiO8jWxxUOJBcRFyPBOrM2BXDt30c/E37eUs59BQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:Bn0KEdE0NqqqdRpg195ryXN/bWw44qZKZptcrUWIa1PlkiW5DLn/qnP82ZoTxQzWIaLao1AtxfVdpMSMNh8gBg==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:FhoRv+em5y2/uWR9EwM8X5KNu0ucBvXn/KUm6lvYeoq4RQXpJi/6cKnYUsW4j7zKGdpgFzji/jjbe8J1TgF2Cg==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UL+xb9zY0Kx/j89tW2aEcukrU2wepw7bU+fd/NyFhLy3wo2mZu7dq1CiTkw1xiI4iqh4/+fSRZyrxHwYtmhHDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:0A4BP5a/7PUUiJ7hCEif69hwUA4hyYcDtHmo+6O90+ZSAHP4Vekke3q2PoDaPiwYtvcqDmIdjXmqbuf9eejOCQ==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:fWRR0CDU8B1ciQRV0jXPVPiwIqKl2VXM/ottA1sadnVqRUDlTfUMEU72AwROF3UUVFUW/e5tTcb5PoSGXWw5AQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:wekK2ZFQWAqGdXjX3KHviiJP1eE5bpL2CbhFGDeHrKJX8J7TRWigKfS+Zf/GM/LzFuvcKxGJP7CBKkgCZfBzAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:69WIk8rdSf3TPfstD3aKGpCv+VfPIzBSmJuZMIVc2sAB+HKK3EWHCVsOMb7Yw9mdUa8e74OFGzKuaCRT6pqoAw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:r4ktrAFskLWehAOA2vxfVKSqmLCO9sHrfoXErkZ5lbZUWVdi2dAF6tmWbq2SgUFTSGb0yMgyvlZ/1f+NnH5CBA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:/iloewG2Rp8zPufoErJF7+zxYFf/9y1pWGxHDC9QaaBWWtjdxGJznS0LMg/NNUUMyb2EJRv8yZP0wWFGmn//Bw==\" value=\"MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:2czXTnyCwjHUviI9eD0OGikCDv+bZirDpOvI1aniniCRB5W6yFxv2XCyBycj+oeTYdQSQUZBPBg4jn34gwvSCw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:Iun9zomU8ulkPm63fham8RBAvHvejBqOihU75oiYsoQKCFzFbxNKYqZJixdmM9Wmbv7C9KSYl8NOC8tOSuODAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:45gmPJaxMxONm4xTEwWXtUXup7HO2qKLVqmzmI1JFxpeEoLZV+a75EzZ69Vo2TI/MnoqOlCPc4wk0fNY2uWZBQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:7qzS0EO+6KdLxJiLhvMgWO2UtsbpC43hLGx6CxMQX1nxwjv+X9B26ZkYbtn7S42lN9VvkIE3W8Ob/OffgRemDw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:aIXz5QqrhwwP9onojReoYDoDRb2/M0EjuTFxy8026Ln4HWvarUdr2wNycEWuv77op/zH1pDGarjliCgrZAENDA==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:v9efmyLLNmEAtBtHAmzja9qU+RHAzSzJb46Hz1L2Pd+9XNOlph/MZSKzCzonGfByEmbwqqJxIAmHjyihf3yrCg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:3uSBYgYE9Ash8yVL//BVKdgZ0yIQWML9QT7WdbnKeJcIR00L3IL6E+EJLDM90tcM8VEJ9FVnSlBZbvPX2HxxDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ayd5qRGRxTk7QySeoC+RxZi+/HIF/PwFN8gZ0g/XCrPExoSKYIWpmK5FjPeopMaW1KDDnniUkPtScPNfsOIqDQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=3 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:D+dlkNVjh7/ZPTZSDo7Vw4/AXzMRQlb087TCgoRtLQl5su9O8zaZIjP75mH0m5IUqyop2wgoh4+Zw7ZQFVTfAA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:mPH/fYN6H+0QUIywdtIFvR3x8sVWbko3Qgg64/IXv+eyYkiPGxrXuaqpgmIB0WY0ly6bpk4M0DR8NTnI7cfUCA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aBL4WfNn9c23rD+fEm7+BuhvpsfWgl8ABjlWv6O/igvH5X5Olvb/99M36HLDd85Vq40xuhmDiYEve3v0TpKWBA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:VkET0n9h4BOB1xICtxSRJ7KiCCt5+Ry/qgWIOVuEWs2/KsU/RMPf3hmpAniQDGFHEt+MBelGWVVPXCSTprUJAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:MdZATnmpsLOfKn+93uPQQzchIAtrk0CIAY+UqOPwnu20lC4QKz058a1052aFfUxhAJ8jOErw7Dr4hXZPTDxgCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:dlACk4oHZ9hnVDX6eJFIVws2bThs/k7eD5k7Ru9R87FkgT/q+wlZP0ez5jWRyZ7vGLA4mUWdIOnUFYAttIxYCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ydTnMdsB+PREwYv/pDSFXcTLl8WEYLkDSyhbShX7HbweCTDVJcrXhlomOalQlrJuHo2Gu2iB4rHldZgfI4M4Bw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:EmQnhreqBZDcvQeej7abR22g/jYSABKuOvUt3wmDSmBwdqFqUqsXfoiEMbAO2yvu5OHPf8UuMjnhHS9O7+MXCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8lkFEftq+bKbdi9YqeAN99t1YH5c3/WArGuol9oobvdv/hIQ6GsVL9pMHaFF9BBSL4SvRxdHUX5UAcT/qKGQAw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:v2bDbQR4sqKTzdYeRHcAvAjZITFO8SyRK5rSuGFJ4kGOxtEfkMiy2BgSEoSue+CS+gbYrIuVCd++mG2AE1UdAA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Pi+EjhmmYnN5BRCRwVleoO2HTntUZ/8Ncx9zCk/KX3+6oE1dGxUqImEQtK/W5iPJ7AFDDNypbzjgyIuD14keDw==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:DTTKObPYmZHD5ObLZr/cUnVW8RtgYXgnMpvRWLzkoLBZgdUz8tap8Izx3NSfIt3Fw929tvhO/NtZuWPnXQeLDw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:aKD8s0SNzDCjqQfMLoA/g+xTVTbqCyOkHH5AoxrUuG1OZN8XDxPqC876QL35+stXQKbcMOrWDfIG/7bj5aBWDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:TvDaXUoAv+VIrXyUkOWEFbo9dqTpX24d+tqUMVTN+5AYh0ZfOyyOTguOJm3rH7Z3ppZVBXHkKrFoyjZ7RBlsBg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Fazk1VCAvgjaTzWW/3nOVvcy2qtURTYtUfeHhIGiWCxfQ84R/ZTm2SKxgsg9y+Hh2/kPGwXOSfSsmoIxEmYMAQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:oLC12gJlGDwTzJVcKlPE+K9k1MrM1wOFfQrbGe7StKuPOsqwckCNo4h9sUlOLFv6xJtSbY36tuTYr46gVpGNBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:hMSisg3sovORDOWGA3X2lDRcLqf/e5cZBkK/Wn/i9LI/UIacfgkxLZT7YpFTaH8Q7ASM+eTHIaae6upaHf1BAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:XKf678iiC32PvJTCB3PKh8+0RUWG8SiejxJv+qAmBcmQ98BmgQZt1LQUKGOyqM6VTkQx1Dvrcoyi/OtiHxiLBg==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:stS1qqcyFQ1rXAta3AF4Qwu4jl8cw5lQlxXLQHh4WQZzsY/KNd6WKFkISjsGpOMKihJNFaKtNKYPt63UQBo4Cg==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 b/samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 new file mode 100644 index 0000000..580e17c --- /dev/null +++ b/samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:9oAGsh0mOm/adDs2tcileyZOs1kxAurn/x2UjvdGK/D5OlNiO8jWxxUOJBcRFyPBOrM2BXDt30c/E37eUs59BQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:Bn0KEdE0NqqqdRpg195ryXN/bWw44qZKZptcrUWIa1PlkiW5DLn/qnP82ZoTxQzWIaLao1AtxfVdpMSMNh8gBg==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:FhoRv+em5y2/uWR9EwM8X5KNu0ucBvXn/KUm6lvYeoq4RQXpJi/6cKnYUsW4j7zKGdpgFzji/jjbe8J1TgF2Cg==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UL+xb9zY0Kx/j89tW2aEcukrU2wepw7bU+fd/NyFhLy3wo2mZu7dq1CiTkw1xiI4iqh4/+fSRZyrxHwYtmhHDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:0A4BP5a/7PUUiJ7hCEif69hwUA4hyYcDtHmo+6O90+ZSAHP4Vekke3q2PoDaPiwYtvcqDmIdjXmqbuf9eejOCQ==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:fWRR0CDU8B1ciQRV0jXPVPiwIqKl2VXM/ottA1sadnVqRUDlTfUMEU72AwROF3UUVFUW/e5tTcb5PoSGXWw5AQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:wekK2ZFQWAqGdXjX3KHviiJP1eE5bpL2CbhFGDeHrKJX8J7TRWigKfS+Zf/GM/LzFuvcKxGJP7CBKkgCZfBzAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:69WIk8rdSf3TPfstD3aKGpCv+VfPIzBSmJuZMIVc2sAB+HKK3EWHCVsOMb7Yw9mdUa8e74OFGzKuaCRT6pqoAw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:r4ktrAFskLWehAOA2vxfVKSqmLCO9sHrfoXErkZ5lbZUWVdi2dAF6tmWbq2SgUFTSGb0yMgyvlZ/1f+NnH5CBA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:/iloewG2Rp8zPufoErJF7+zxYFf/9y1pWGxHDC9QaaBWWtjdxGJznS0LMg/NNUUMyb2EJRv8yZP0wWFGmn//Bw==\" value=\"MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:2czXTnyCwjHUviI9eD0OGikCDv+bZirDpOvI1aniniCRB5W6yFxv2XCyBycj+oeTYdQSQUZBPBg4jn34gwvSCw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:Iun9zomU8ulkPm63fham8RBAvHvejBqOihU75oiYsoQKCFzFbxNKYqZJixdmM9Wmbv7C9KSYl8NOC8tOSuODAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:45gmPJaxMxONm4xTEwWXtUXup7HO2qKLVqmzmI1JFxpeEoLZV+a75EzZ69Vo2TI/MnoqOlCPc4wk0fNY2uWZBQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:7qzS0EO+6KdLxJiLhvMgWO2UtsbpC43hLGx6CxMQX1nxwjv+X9B26ZkYbtn7S42lN9VvkIE3W8Ob/OffgRemDw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:aIXz5QqrhwwP9onojReoYDoDRb2/M0EjuTFxy8026Ln4HWvarUdr2wNycEWuv77op/zH1pDGarjliCgrZAENDA==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:v9efmyLLNmEAtBtHAmzja9qU+RHAzSzJb46Hz1L2Pd+9XNOlph/MZSKzCzonGfByEmbwqqJxIAmHjyihf3yrCg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:3uSBYgYE9Ash8yVL//BVKdgZ0yIQWML9QT7WdbnKeJcIR00L3IL6E+EJLDM90tcM8VEJ9FVnSlBZbvPX2HxxDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ayd5qRGRxTk7QySeoC+RxZi+/HIF/PwFN8gZ0g/XCrPExoSKYIWpmK5FjPeopMaW1KDDnniUkPtScPNfsOIqDQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:mPH/fYN6H+0QUIywdtIFvR3x8sVWbko3Qgg64/IXv+eyYkiPGxrXuaqpgmIB0WY0ly6bpk4M0DR8NTnI7cfUCA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aBL4WfNn9c23rD+fEm7+BuhvpsfWgl8ABjlWv6O/igvH5X5Olvb/99M36HLDd85Vq40xuhmDiYEve3v0TpKWBA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:VkET0n9h4BOB1xICtxSRJ7KiCCt5+Ry/qgWIOVuEWs2/KsU/RMPf3hmpAniQDGFHEt+MBelGWVVPXCSTprUJAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:MdZATnmpsLOfKn+93uPQQzchIAtrk0CIAY+UqOPwnu20lC4QKz058a1052aFfUxhAJ8jOErw7Dr4hXZPTDxgCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:dlACk4oHZ9hnVDX6eJFIVws2bThs/k7eD5k7Ru9R87FkgT/q+wlZP0ez5jWRyZ7vGLA4mUWdIOnUFYAttIxYCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ydTnMdsB+PREwYv/pDSFXcTLl8WEYLkDSyhbShX7HbweCTDVJcrXhlomOalQlrJuHo2Gu2iB4rHldZgfI4M4Bw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:EmQnhreqBZDcvQeej7abR22g/jYSABKuOvUt3wmDSmBwdqFqUqsXfoiEMbAO2yvu5OHPf8UuMjnhHS9O7+MXCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8lkFEftq+bKbdi9YqeAN99t1YH5c3/WArGuol9oobvdv/hIQ6GsVL9pMHaFF9BBSL4SvRxdHUX5UAcT/qKGQAw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:v2bDbQR4sqKTzdYeRHcAvAjZITFO8SyRK5rSuGFJ4kGOxtEfkMiy2BgSEoSue+CS+gbYrIuVCd++mG2AE1UdAA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Pi+EjhmmYnN5BRCRwVleoO2HTntUZ/8Ncx9zCk/KX3+6oE1dGxUqImEQtK/W5iPJ7AFDDNypbzjgyIuD14keDw==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:DTTKObPYmZHD5ObLZr/cUnVW8RtgYXgnMpvRWLzkoLBZgdUz8tap8Izx3NSfIt3Fw929tvhO/NtZuWPnXQeLDw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:aKD8s0SNzDCjqQfMLoA/g+xTVTbqCyOkHH5AoxrUuG1OZN8XDxPqC876QL35+stXQKbcMOrWDfIG/7bj5aBWDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:TvDaXUoAv+VIrXyUkOWEFbo9dqTpX24d+tqUMVTN+5AYh0ZfOyyOTguOJm3rH7Z3ppZVBXHkKrFoyjZ7RBlsBg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Fazk1VCAvgjaTzWW/3nOVvcy2qtURTYtUfeHhIGiWCxfQ84R/ZTm2SKxgsg9y+Hh2/kPGwXOSfSsmoIxEmYMAQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:oLC12gJlGDwTzJVcKlPE+K9k1MrM1wOFfQrbGe7StKuPOsqwckCNo4h9sUlOLFv6xJtSbY36tuTYr46gVpGNBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:hMSisg3sovORDOWGA3X2lDRcLqf/e5cZBkK/Wn/i9LI/UIacfgkxLZT7YpFTaH8Q7ASM+eTHIaae6upaHf1BAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:XKf678iiC32PvJTCB3PKh8+0RUWG8SiejxJv+qAmBcmQ98BmgQZt1LQUKGOyqM6VTkQx1Dvrcoyi/OtiHxiLBg==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-4/receipts.bound b/samples/native-views/place-4/receipts.bound new file mode 100644 index 0000000..962b4d7 --- /dev/null +++ b/samples/native-views/place-4/receipts.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd +bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:102dead202451c7d24d32c4ab6aea12ebb0d990f4363a073418b4b9ac6525452 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:102dead202451c7d24d32c4ab6aea12ebb0d990f4363a073418b4b9ac6525452 diff --git a/samples/native-views/place/TARGET.bound b/samples/native-views/place/TARGET.bound new file mode 100644 index 0000000..6505b23 --- /dev/null +++ b/samples/native-views/place/TARGET.bound @@ -0,0 +1,38 @@ +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-fold value=fold +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=attest +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south|receipts +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=attest +bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias|receipts +bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=" +bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file +bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 +bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 +bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b role=writes scope=dep/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b value=sha256:4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a role=writes scope=dep/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a value=sha256:1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 role=writes scope=dep/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 value=sha256:4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 diff --git a/samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 b/samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 new file mode 100644 index 0000000..2c6983a --- /dev/null +++ b/samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:uYpBiJHwAu2swY/XS+0lLfM6OU67BNTuib3PRWmWb0pqojvuvUYqfAIWryWJoR8zRE5Tip7kGtcq5UU2Bmu/AQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a b/samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a new file mode 100644 index 0000000..73a1c2b --- /dev/null +++ b/samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:dRHoCyuqa+Qv/6FLwgDRrZ95Qa2vIF0EYjQrK/u2qzMd0/H6jLmGZzH+W7+/iB8zAXLqWHh7JJ5p/GqR3wxOCQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:n/3fnOsppEjQ2MyXlnoNcbuYQCil1Z/m9W7cpHHXqH3JTZ7ZPmwCq3b+AeAKUajbPeJyBA4EpHj9vTgBcxboDQ==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:+3MYprdIrFLaYYQy0mslDjTqfMoI7J9PfjLG/IQ2ADi7+CHtzUWg6dij4KxE1g+KAOf94fbfT2cwgZ7nHlzwCw==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:3zUMABKnov8v8Fy7Xt0Xagqd3jXlZ8plAQPaIyIpyvKpiot+SaUJDF9aO1DPvzcy8587vb8QADH+dugliAPDCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:URq99bSV5VMfyW/GrY5l7VPXgw0hv3FktZXpnJZgLq4QozsHzfwkIFQ9yltxI/GrjvpThoHHpzByz+L6W/L7Cw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:h6LzMVMuha6XaDlxpnu+OFuhFkS5R5AhJITOE4NgNrqJC3MCL5QR3AI7U2kQ/YmL76GcdC/M4T7uyoqMcNoVAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:E60NVjfQIAm3LmhTKQLZlOFIXjJUJtf9TgYb2ljTGviPAk+gjd5GEAVJxDTIhbxdCCufu1Qk5d6K0ZrIcS1ZCA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hg/76uw1p5k+pTh03J9VMgYz27zkwSReIQPZcIJrgn33x5xJOdyB9nHRGd0uPIkpjGsuucII0Qs93LXfhYotDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:hekIopNJrs4HTFm7sr4N4NOLmVszDUNGfiRzQDBNuEHse+8eebWXOga+lljO6ouc/0ywvYLKgjYOd6jB2xxWAA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kiQlOw0IQiGMo2xZ0qoK01fYpAXuPnazKxi6er9/22wdwT3b7IFlQnLk3oC3Pt892olfELvnS8b4CbjaYfiHBA==\" value=\"MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:PtnUbNQTp8mwBqFxKfSNjDgtvkz11SHblf8h0S1yjJjLafnwjko1KqpSTUzvTY7mt7TC5jlob8jKJWFKQUa5Bg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:V5zBq3LBxmTwEfPcjK0Tv+j77KnrqjvVoaOKYwmb+REL/5k78lnPRCp9Rf9OBWucGrcIGFO3dGstrv1yv/W+BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:17TX2QwWEIHGimv6+tS85Qq6AtQW+ow+wLskwPe9c+0bTXSwgAq1YNWGQXbGSUT1yfyBQdlQvVEvKURCzchQCg==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:su5ZsuAPt7Iz2mzdyI6OIgupFsmElNXtYn68qs+Zlv5U4AYD+G2lhLPaxUlL9ji0FUl7ht2Mb9leQMDM+mfbBA==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:Tuo4k+KD6DZp/sxVD1okJ+6QFIvTfPTpivWzr+0lhnE0aF67r2najUBb03PGa2jKjGM3jV3sqgccNdPx7ApdDQ==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QBf+mD0bcMAlL6htM6bCrJAMo4/2fDPX5EeMdY3cpoK6F26v1esWakWlahP8ymw+samn4Y92TqC+TMASemmbBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:NCTMzH6qIYK2519fypHl8ZIaK0+scKSEdzQiqRRKLmIn81rmXJnD7RHgnZvGz/CMEaUhE5nmk9rtYsvGGyM8BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:mb88Dw+j5KOIHgwVk3e7+Nc+8F2fwiH3VSSs+xfSx7O4IRqtOQHjy17nIBd6JGAVxeUt6b6bzRUlE5SJ1CLYBQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:5w79/eb9riOxw8m/3KeRfeI9xV4aYcE2F2Oc2u3WFKqbn+RLOfVnrlKgn3G3zERD7M1qKk/pIBWjagqBE3QjCA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:/geZZo5RtKnk/4KFNXmu0+4qV6tUnvwTLus5kvGOWOYt7pHHDFko99cgGRPAOEkq8DSD7gcilj2VEZeyyCpsAA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:GdFIjPWmh2YBJymy406DZDKb6NM2Fy98TWT8eaJANzV8ik1XaO61JER0/tz0ZQ1jcxnUyPp8iB+4XnEyRRJyBg==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:NM6I2heI0yviq8mogWHDWiPPIG8aXp39kEDQnN3islKsDkhWr23J+psBKg7G1l41R7Eirx/1Xgv6QbLjID9PCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:b+ifU4ch9+VURmbNI0c0APZiF4q8pALUCBkMKGX41SLEF9fQXMtoBGM3zKqSUxYiUhNcuajGV6rBJsyMN9rUAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:GZO12v9Bq610sNmqjr903NL16/53VllzuSFBi6GB7Ppp2HazhfY6S4WSDnrAg7Rt6EeVufMSTlSfeRJQV9HiBA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:G1u2bGfPWHbMh96p3y+PlMlUzC3A2F7Xi5xv6EDJ5iVDbF5cKcXM6bKuYcRMlW40YsbL9MT5s0LrizRbr7wiDw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:j2J5YC7jjWL46sUYYFmDv3ERpF7eLuZUyXlV5iQsNcXqlJqr7usUelOHpYECZON0Q5NKP7UEu0WgB2VbpqHzDw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8I4/pl69SFfoNoUsuJbd6JHfJu6EDwQzlmgNB9EZltbObuZ5/e5WCO9kiZcO++6x3rAvW/IjuQGYXk/4odtmDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zWZvszYXN0COL8+NWbveWFXAm56rFDSlMWiVtXHLP5TDcr59LSSUWD/sqRJmIwTUCrunbJ0T73aq1HYn0F59Cw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CbtEkvQXl0zIL3Z4mYk1eiyr6zslt9AmfnDFJPCMi3P8cI2dA5ZJLHLBwXXDpBwdV1LZMXo+r9BRFvg+7sFJBQ==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:YEdrq+BNxEm4tMhRDX14R3+nvUsmPTu2MHr+uxTJ/xXnZy/W8fJs1eZhGYfBV5pjTBkwyLuh4JretPhOEz6CDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:se6kjXBOqcT+DuCEcowvnSuZIitThkCWEfOuTAVZJKns9Pj62O3343BEoUFv/EImYJGh/ACaJYC0ADJ9UYEFAA==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:zPByKq/BEdJmkdspv24Fu5RsZJiSeFbaJMScaRi9ucbTTNyV1hKMUB1maL7u2E8Miu7NaUmC7bLEyUZeTGjuCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:RUDvz0xIhsZq/s0dvqHYvw8c8LZzaPcWIzqCegQGsXUG8nA5ojiWklM29hFI+/mypxtXl3lHM+Cz//RfA47XBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:gbKbjZMVk8rDASqfDWt6+JPVSP58t0B76iYK2aYFBUDL0W1txugY0MtewzIZQ5Y/5ckYy82+8J1SOKVEap4dCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:ekXkcuv2yCI2mtOhamXBDjmPpaLUGWJ6Uw+s7bhCKkJxdaopUhs/ovok6ZK/hrUpV/KR009nZWd29JmnzWQdDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:x8r2ita8UGjCRrW/KMcEyFskwSIqPtnckei8rh0m6lQ7VobfkaQ++pLl8/Tf0aatmgEbzUg6zQrodMIM+gJ3BQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 b/samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 new file mode 100644 index 0000000..0581361 --- /dev/null +++ b/samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:dRHoCyuqa+Qv/6FLwgDRrZ95Qa2vIF0EYjQrK/u2qzMd0/H6jLmGZzH+W7+/iB8zAXLqWHh7JJ5p/GqR3wxOCQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:n/3fnOsppEjQ2MyXlnoNcbuYQCil1Z/m9W7cpHHXqH3JTZ7ZPmwCq3b+AeAKUajbPeJyBA4EpHj9vTgBcxboDQ==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:+3MYprdIrFLaYYQy0mslDjTqfMoI7J9PfjLG/IQ2ADi7+CHtzUWg6dij4KxE1g+KAOf94fbfT2cwgZ7nHlzwCw==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:3zUMABKnov8v8Fy7Xt0Xagqd3jXlZ8plAQPaIyIpyvKpiot+SaUJDF9aO1DPvzcy8587vb8QADH+dugliAPDCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:URq99bSV5VMfyW/GrY5l7VPXgw0hv3FktZXpnJZgLq4QozsHzfwkIFQ9yltxI/GrjvpThoHHpzByz+L6W/L7Cw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:h6LzMVMuha6XaDlxpnu+OFuhFkS5R5AhJITOE4NgNrqJC3MCL5QR3AI7U2kQ/YmL76GcdC/M4T7uyoqMcNoVAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:E60NVjfQIAm3LmhTKQLZlOFIXjJUJtf9TgYb2ljTGviPAk+gjd5GEAVJxDTIhbxdCCufu1Qk5d6K0ZrIcS1ZCA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hg/76uw1p5k+pTh03J9VMgYz27zkwSReIQPZcIJrgn33x5xJOdyB9nHRGd0uPIkpjGsuucII0Qs93LXfhYotDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:hekIopNJrs4HTFm7sr4N4NOLmVszDUNGfiRzQDBNuEHse+8eebWXOga+lljO6ouc/0ywvYLKgjYOd6jB2xxWAA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kiQlOw0IQiGMo2xZ0qoK01fYpAXuPnazKxi6er9/22wdwT3b7IFlQnLk3oC3Pt892olfELvnS8b4CbjaYfiHBA==\" value=\"MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:PtnUbNQTp8mwBqFxKfSNjDgtvkz11SHblf8h0S1yjJjLafnwjko1KqpSTUzvTY7mt7TC5jlob8jKJWFKQUa5Bg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:V5zBq3LBxmTwEfPcjK0Tv+j77KnrqjvVoaOKYwmb+REL/5k78lnPRCp9Rf9OBWucGrcIGFO3dGstrv1yv/W+BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:17TX2QwWEIHGimv6+tS85Qq6AtQW+ow+wLskwPe9c+0bTXSwgAq1YNWGQXbGSUT1yfyBQdlQvVEvKURCzchQCg==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:su5ZsuAPt7Iz2mzdyI6OIgupFsmElNXtYn68qs+Zlv5U4AYD+G2lhLPaxUlL9ji0FUl7ht2Mb9leQMDM+mfbBA==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:Tuo4k+KD6DZp/sxVD1okJ+6QFIvTfPTpivWzr+0lhnE0aF67r2najUBb03PGa2jKjGM3jV3sqgccNdPx7ApdDQ==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QBf+mD0bcMAlL6htM6bCrJAMo4/2fDPX5EeMdY3cpoK6F26v1esWakWlahP8ymw+samn4Y92TqC+TMASemmbBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:NCTMzH6qIYK2519fypHl8ZIaK0+scKSEdzQiqRRKLmIn81rmXJnD7RHgnZvGz/CMEaUhE5nmk9rtYsvGGyM8BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:mb88Dw+j5KOIHgwVk3e7+Nc+8F2fwiH3VSSs+xfSx7O4IRqtOQHjy17nIBd6JGAVxeUt6b6bzRUlE5SJ1CLYBQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=3 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:I3DOGx+i1DdMhe4q07oHoJscCRvSQMvp3UtCO401wlyRrcL0lGyAZPpKW1DuQUJVhwZbNSyjiCTh+HI88Gd4Dg==\" value=withdraw\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:/geZZo5RtKnk/4KFNXmu0+4qV6tUnvwTLus5kvGOWOYt7pHHDFko99cgGRPAOEkq8DSD7gcilj2VEZeyyCpsAA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:GdFIjPWmh2YBJymy406DZDKb6NM2Fy98TWT8eaJANzV8ik1XaO61JER0/tz0ZQ1jcxnUyPp8iB+4XnEyRRJyBg==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:NM6I2heI0yviq8mogWHDWiPPIG8aXp39kEDQnN3islKsDkhWr23J+psBKg7G1l41R7Eirx/1Xgv6QbLjID9PCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:b+ifU4ch9+VURmbNI0c0APZiF4q8pALUCBkMKGX41SLEF9fQXMtoBGM3zKqSUxYiUhNcuajGV6rBJsyMN9rUAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:GZO12v9Bq610sNmqjr903NL16/53VllzuSFBi6GB7Ppp2HazhfY6S4WSDnrAg7Rt6EeVufMSTlSfeRJQV9HiBA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:G1u2bGfPWHbMh96p3y+PlMlUzC3A2F7Xi5xv6EDJ5iVDbF5cKcXM6bKuYcRMlW40YsbL9MT5s0LrizRbr7wiDw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:j2J5YC7jjWL46sUYYFmDv3ERpF7eLuZUyXlV5iQsNcXqlJqr7usUelOHpYECZON0Q5NKP7UEu0WgB2VbpqHzDw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8I4/pl69SFfoNoUsuJbd6JHfJu6EDwQzlmgNB9EZltbObuZ5/e5WCO9kiZcO++6x3rAvW/IjuQGYXk/4odtmDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zWZvszYXN0COL8+NWbveWFXAm56rFDSlMWiVtXHLP5TDcr59LSSUWD/sqRJmIwTUCrunbJ0T73aq1HYn0F59Cw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CbtEkvQXl0zIL3Z4mYk1eiyr6zslt9AmfnDFJPCMi3P8cI2dA5ZJLHLBwXXDpBwdV1LZMXo+r9BRFvg+7sFJBQ==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:YEdrq+BNxEm4tMhRDX14R3+nvUsmPTu2MHr+uxTJ/xXnZy/W8fJs1eZhGYfBV5pjTBkwyLuh4JretPhOEz6CDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:se6kjXBOqcT+DuCEcowvnSuZIitThkCWEfOuTAVZJKns9Pj62O3343BEoUFv/EImYJGh/ACaJYC0ADJ9UYEFAA==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:zPByKq/BEdJmkdspv24Fu5RsZJiSeFbaJMScaRi9ucbTTNyV1hKMUB1maL7u2E8Miu7NaUmC7bLEyUZeTGjuCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:RUDvz0xIhsZq/s0dvqHYvw8c8LZzaPcWIzqCegQGsXUG8nA5ojiWklM29hFI+/mypxtXl3lHM+Cz//RfA47XBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:gbKbjZMVk8rDASqfDWt6+JPVSP58t0B76iYK2aYFBUDL0W1txugY0MtewzIZQ5Y/5ckYy82+8J1SOKVEap4dCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:ekXkcuv2yCI2mtOhamXBDjmPpaLUGWJ6Uw+s7bhCKkJxdaopUhs/ovok6ZK/hrUpV/KR009nZWd29JmnzWQdDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:x8r2ita8UGjCRrW/KMcEyFskwSIqPtnckei8rh0m6lQ7VobfkaQ++pLl8/Tf0aatmgEbzUg6zQrodMIM+gJ3BQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:5w79/eb9riOxw8m/3KeRfeI9xV4aYcE2F2Oc2u3WFKqbn+RLOfVnrlKgn3G3zERD7M1qKk/pIBWjagqBE3QjCA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b b/samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b new file mode 100644 index 0000000..f1c5801 --- /dev/null +++ b/samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:dRHoCyuqa+Qv/6FLwgDRrZ95Qa2vIF0EYjQrK/u2qzMd0/H6jLmGZzH+W7+/iB8zAXLqWHh7JJ5p/GqR3wxOCQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:n/3fnOsppEjQ2MyXlnoNcbuYQCil1Z/m9W7cpHHXqH3JTZ7ZPmwCq3b+AeAKUajbPeJyBA4EpHj9vTgBcxboDQ==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:+3MYprdIrFLaYYQy0mslDjTqfMoI7J9PfjLG/IQ2ADi7+CHtzUWg6dij4KxE1g+KAOf94fbfT2cwgZ7nHlzwCw==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:3zUMABKnov8v8Fy7Xt0Xagqd3jXlZ8plAQPaIyIpyvKpiot+SaUJDF9aO1DPvzcy8587vb8QADH+dugliAPDCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:URq99bSV5VMfyW/GrY5l7VPXgw0hv3FktZXpnJZgLq4QozsHzfwkIFQ9yltxI/GrjvpThoHHpzByz+L6W/L7Cw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:h6LzMVMuha6XaDlxpnu+OFuhFkS5R5AhJITOE4NgNrqJC3MCL5QR3AI7U2kQ/YmL76GcdC/M4T7uyoqMcNoVAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:E60NVjfQIAm3LmhTKQLZlOFIXjJUJtf9TgYb2ljTGviPAk+gjd5GEAVJxDTIhbxdCCufu1Qk5d6K0ZrIcS1ZCA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hg/76uw1p5k+pTh03J9VMgYz27zkwSReIQPZcIJrgn33x5xJOdyB9nHRGd0uPIkpjGsuucII0Qs93LXfhYotDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:hekIopNJrs4HTFm7sr4N4NOLmVszDUNGfiRzQDBNuEHse+8eebWXOga+lljO6ouc/0ywvYLKgjYOd6jB2xxWAA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kiQlOw0IQiGMo2xZ0qoK01fYpAXuPnazKxi6er9/22wdwT3b7IFlQnLk3oC3Pt892olfELvnS8b4CbjaYfiHBA==\" value=\"MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:PtnUbNQTp8mwBqFxKfSNjDgtvkz11SHblf8h0S1yjJjLafnwjko1KqpSTUzvTY7mt7TC5jlob8jKJWFKQUa5Bg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:V5zBq3LBxmTwEfPcjK0Tv+j77KnrqjvVoaOKYwmb+REL/5k78lnPRCp9Rf9OBWucGrcIGFO3dGstrv1yv/W+BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:17TX2QwWEIHGimv6+tS85Qq6AtQW+ow+wLskwPe9c+0bTXSwgAq1YNWGQXbGSUT1yfyBQdlQvVEvKURCzchQCg==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:su5ZsuAPt7Iz2mzdyI6OIgupFsmElNXtYn68qs+Zlv5U4AYD+G2lhLPaxUlL9ji0FUl7ht2Mb9leQMDM+mfbBA==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:Tuo4k+KD6DZp/sxVD1okJ+6QFIvTfPTpivWzr+0lhnE0aF67r2najUBb03PGa2jKjGM3jV3sqgccNdPx7ApdDQ==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QBf+mD0bcMAlL6htM6bCrJAMo4/2fDPX5EeMdY3cpoK6F26v1esWakWlahP8ymw+samn4Y92TqC+TMASemmbBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:NCTMzH6qIYK2519fypHl8ZIaK0+scKSEdzQiqRRKLmIn81rmXJnD7RHgnZvGz/CMEaUhE5nmk9rtYsvGGyM8BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:mb88Dw+j5KOIHgwVk3e7+Nc+8F2fwiH3VSSs+xfSx7O4IRqtOQHjy17nIBd6JGAVxeUt6b6bzRUlE5SJ1CLYBQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:/geZZo5RtKnk/4KFNXmu0+4qV6tUnvwTLus5kvGOWOYt7pHHDFko99cgGRPAOEkq8DSD7gcilj2VEZeyyCpsAA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:GdFIjPWmh2YBJymy406DZDKb6NM2Fy98TWT8eaJANzV8ik1XaO61JER0/tz0ZQ1jcxnUyPp8iB+4XnEyRRJyBg==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:NM6I2heI0yviq8mogWHDWiPPIG8aXp39kEDQnN3islKsDkhWr23J+psBKg7G1l41R7Eirx/1Xgv6QbLjID9PCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:b+ifU4ch9+VURmbNI0c0APZiF4q8pALUCBkMKGX41SLEF9fQXMtoBGM3zKqSUxYiUhNcuajGV6rBJsyMN9rUAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:GZO12v9Bq610sNmqjr903NL16/53VllzuSFBi6GB7Ppp2HazhfY6S4WSDnrAg7Rt6EeVufMSTlSfeRJQV9HiBA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:G1u2bGfPWHbMh96p3y+PlMlUzC3A2F7Xi5xv6EDJ5iVDbF5cKcXM6bKuYcRMlW40YsbL9MT5s0LrizRbr7wiDw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:j2J5YC7jjWL46sUYYFmDv3ERpF7eLuZUyXlV5iQsNcXqlJqr7usUelOHpYECZON0Q5NKP7UEu0WgB2VbpqHzDw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8I4/pl69SFfoNoUsuJbd6JHfJu6EDwQzlmgNB9EZltbObuZ5/e5WCO9kiZcO++6x3rAvW/IjuQGYXk/4odtmDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zWZvszYXN0COL8+NWbveWFXAm56rFDSlMWiVtXHLP5TDcr59LSSUWD/sqRJmIwTUCrunbJ0T73aq1HYn0F59Cw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CbtEkvQXl0zIL3Z4mYk1eiyr6zslt9AmfnDFJPCMi3P8cI2dA5ZJLHLBwXXDpBwdV1LZMXo+r9BRFvg+7sFJBQ==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:YEdrq+BNxEm4tMhRDX14R3+nvUsmPTu2MHr+uxTJ/xXnZy/W8fJs1eZhGYfBV5pjTBkwyLuh4JretPhOEz6CDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:se6kjXBOqcT+DuCEcowvnSuZIitThkCWEfOuTAVZJKns9Pj62O3343BEoUFv/EImYJGh/ACaJYC0ADJ9UYEFAA==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:zPByKq/BEdJmkdspv24Fu5RsZJiSeFbaJMScaRi9ucbTTNyV1hKMUB1maL7u2E8Miu7NaUmC7bLEyUZeTGjuCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:RUDvz0xIhsZq/s0dvqHYvw8c8LZzaPcWIzqCegQGsXUG8nA5ojiWklM29hFI+/mypxtXl3lHM+Cz//RfA47XBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:gbKbjZMVk8rDASqfDWt6+JPVSP58t0B76iYK2aYFBUDL0W1txugY0MtewzIZQ5Y/5ckYy82+8J1SOKVEap4dCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:ekXkcuv2yCI2mtOhamXBDjmPpaLUGWJ6Uw+s7bhCKkJxdaopUhs/ovok6ZK/hrUpV/KR009nZWd29JmnzWQdDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:x8r2ita8UGjCRrW/KMcEyFskwSIqPtnckei8rh0m6lQ7VobfkaQ++pLl8/Tf0aatmgEbzUg6zQrodMIM+gJ3BQ==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 b/samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 new file mode 100644 index 0000000..9f6af54 --- /dev/null +++ b/samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 b/samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 new file mode 100644 index 0000000..c7cc170 --- /dev/null +++ b/samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:gSdDuQHHHP5QzNfYW3Wj6Es4gxT0gurUYQST3yPTAbmgXBicWkQYyuCNiDRFanRqOC1wXi9Rg0f0YJtAlN0/BA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:hEZFnQipldXLnwE+nlLZQkYKN7awLo1VpgyVBr274id1eqYrsG4siu9e12ur5Epr29SaNuo4fGra5yb0CIs5AQ==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:uYpBiJHwAu2swY/XS+0lLfM6OU67BNTuib3PRWmWb0pqojvuvUYqfAIWryWJoR8zRE5Tip7kGtcq5UU2Bmu/AQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 b/samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 new file mode 100644 index 0000000..93e56cf --- /dev/null +++ b/samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 b/samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 new file mode 100644 index 0000000..c183dac --- /dev/null +++ b/samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:gSdDuQHHHP5QzNfYW3Wj6Es4gxT0gurUYQST3yPTAbmgXBicWkQYyuCNiDRFanRqOC1wXi9Rg0f0YJtAlN0/BA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:uYpBiJHwAu2swY/XS+0lLfM6OU67BNTuib3PRWmWb0pqojvuvUYqfAIWryWJoR8zRE5Tip7kGtcq5UU2Bmu/AQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/program-views-1/TARGET.bound b/samples/program-views-1/TARGET.bound new file mode 100644 index 0000000..cc4b26c --- /dev/null +++ b/samples/program-views-1/TARGET.bound @@ -0,0 +1,37 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:JMza0TeLHbm1ooL3QhBDuz9O8nL1AvAbPFLtpBXTr9Q7YW68nJwG6vIHLtXxn3wiBJbSgDSL1nvzVOnNVMgADw==" value="MCowBQYDK2VwAyEAynHvXZ9fxH6cFG46+Hci/LJJxFIpn0XznlI/TA2T3MU=" +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest needs=fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc role=writes scope=dep/programs shape=1388ab8a6ea378b880a02f876a8983a7acd761501a2f6ef87f7dcd8582c639d1 value=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/programs value=sha256:20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=demands scope=view/card value=demand-card@8 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=demands scope=view/programs value=demand-status@8 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=tasks/minimum value=tasks/collect|tasks/catalogue +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=tasks/selection value=tasks/collect|tasks/catalogue +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|view|region|uses|dep|tasks|clock|reader|read|fold|receipts|rendered|resolved|beat +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/kinds value=capsule +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=receipts|reads|coordinates +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=receipts role=writes scope=region/proofs value=proof/** +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=alphabet measure=status needs=proof/catalogue restsOn=tasks/collect role=demands scope=tasks/catalogue value=present +bound-lock/1 at=policy:sample by=target form=alphabet measure=status needs=proof/collect role=demands scope=tasks/collect value=present +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=days role=demands scope=clock/ceiling value=0..14 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b role=writes scope=dep/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b value=sha256:20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 role=writes scope=dep/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 value=sha256:4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 diff --git a/samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b b/samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b new file mode 100644 index 0000000..97cba03 --- /dev/null +++ b/samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b @@ -0,0 +1,11 @@ +bound-lock/1 at=policy:sample form=alphabet kind=capsule measure=digest restsOn=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc role=writes scope=offers/programs value=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/ceiling value=clock/ceiling +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/elapsed value=clock/elapsed +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/evidence value=proofs +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/minimum value=tasks/minimum +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/profile value=admitted-demands@1 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/selection value=tasks/selection +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/provider-inputs value=standing-projection@1 +bound-lock/1 at=policy:sample form=alphabet measure=reads role=demands scope=offers/programs/inputs/demand-card value=wire/programs/** +bound-lock/1 at=policy:sample form=alphabet measure=reads role=demands scope=offers/programs/inputs/demand-status value=wire/programs/** +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/world value=wire/**|offers/** diff --git a/samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 b/samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 new file mode 100644 index 0000000..a23de24 --- /dev/null +++ b/samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=days role=demands scope=clock/ceiling sig=\"ed25519:sample:pd9BtR/V+ef8tm2g4abVZOV3JDk/TqBG1UJE2vKts0Sbxv/R87Ab8mrtLLKSNf/ZmMZuq3ZRS8lmxNrc8SNLCA==\" value=0..14\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/programs shape=1388ab8a6ea378b880a02f876a8983a7acd761501a2f6ef87f7dcd8582c639d1 sig=\"ed25519:sample:H6LolJm+itQEEJzPqGSTAe3pQhnfetEYK6VwE5jCRbk+EOQNA4zOmQDGnsYswcerqgnl68NNOgYdrrcgSxQdDA==\" value=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:kURkysmfMfoGdy1MEhZ9jl1bcbqzppR9NxIZwgmts3j6N8TGZDfukOu8aLuCDK9yK67ge0w/c+NmXq24hxp2DA==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:m0kpD3MBlYwlT7deQBYwrHYgI1FIotkkOznP/N6U5OWaZU+RR1HAAdYbVZ4FprmrchDYofbCVEypgstBt27uBQ==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:JMza0TeLHbm1ooL3QhBDuz9O8nL1AvAbPFLtpBXTr9Q7YW68nJwG6vIHLtXxn3wiBJbSgDSL1nvzVOnNVMgADw==\" value=\"MCowBQYDK2VwAyEAynHvXZ9fxH6cFG46+Hci/LJJxFIpn0XznlI/TA2T3MU=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:K2Jur4Oe/71Wfb/HjBNrRHBrpaEm8Y0XOYnq+AXOSCXB6dPgDTDoBWZvfIl6oCcx4czsxhoP3KaprZd7SjtQCg==\" value=1..16\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:GVYFntuzgKBety9g1ynCsKtreRIFbP/Li0mDj+bAIhsjOLXIzUGeJ1P0vAJ3x4VwR/JC5npBTLU+1t2eXHbjAQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:ThVmm+yibKE4/NrF8QGzP9Vw69HsEp7kM8mSNFEEe8skUoc+j7IyWhL56gDOn7fhO+TbjAh3IXuJotflN6mpAQ==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:2pHPf2WqXVBW2Nv2kDVW1JthJbQLoaQy0AagtoIITeXVKkIhOtX30ivZu7Qp7hBremc+g9UxZuk1MDWqvXvhCg==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:ykjk53U8Jlf2B+E60shP5Ur0R/ejTD7v9z2CWlPenoCh12g3d19K//5lWlZwE71Y4HD7VrJpbNPMsMZ7ivyjBA==\" value=refuse\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:R3aMsimjAuFR9YB3pXS5spAr1ui9YL4jEz0ISrlFKhLRQB8xU3xtPKSxjR0Xopk1ZQzL5hfwg4tLEpN8QZ+rDQ==\" value=required\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:XfHjeh6XV5YnhHNCvjmwHPHuXb7lVrmmriVRrXcRXs0ssX6epdnp3jVJSUjfcXH+gmjTMtPGrHKJWFS419eeDw==\" value=67108864..67108864\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Hyffngq1/xa+hMivex8nRFCXp1wCNFG6amPct8NEYNrl5ryeuaIxFvzSYPjQf0+XTQ5nvijWpStY9YATezZ7DA==\" value=30000..30000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=receipts role=writes scope=region/proofs sig=\"ed25519:sample:m3nEBYUIjxfVzWU3ece99hbX0v3CLdSTkjSTH1JH6rvljs0H9hfXAJeKHNvtIPaaZy1ivJ5qQUzVK7inkd1XBg==\" value=proof/**\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:lES2s4kwWPCr6yvI4mbWKyFhZlR9FfNMojG7jyuGFe8TtgnibDFWT1Pc6XN43SL7GPlJUQtfno5ir/lrc9bdBw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:xImUq9ArOxIkom1kEfpXY3BsqyWjue5VD8ZXnZkYMNq1zoGcTmOm95l3TTCiixdtHA0DKC6zUWEZisXQT74fAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=status needs=proof/catalogue restsOn=tasks/collect role=demands scope=tasks/catalogue sig=\"ed25519:sample:srOYzWKnscZqZSE77n/HUA0leWaoYMau/UG2aOS5mGoq/t9tflfHlH6wkghM3tv3IHVDGAric/edq7lQEbfsCw==\" value=present\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=status needs=proof/collect role=demands scope=tasks/collect sig=\"ed25519:sample:Vhrcyzur1InNjbccpmmr0dBFNzgoCJub4z7jq6gGkmUQl68hM/Ahq50Sx6I/C/qaXaJEs9LuKXP2+VPphDe4DQ==\" value=present\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=tasks/minimum sig=\"ed25519:sample:XPcG/nLMuioV4g0OO5gdb/jZfpu+6td467yIM4gCEuUsSUlWJhE9iIbuFHWYesLulG7/RfmdAODGPHh2q1UaCw==\" value=tasks/collect|tasks/catalogue\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=tasks/selection sig=\"ed25519:sample:vwlekuPcyueygxTxGMKnhwDLKTlF8GJT92G90XeNPz8/EWzpK/lFQAXQbX3GPXLhVPkyMc7GuFNCrAPRRfCPBA==\" value=tasks/collect|tasks/catalogue\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/programs sig=\"ed25519:sample:nZHGqOrbs7WGUlNUbQp96nBlcruczc1xGjh9P7RJh4YvDs3bzO5qFUG1ynI62Q6iUZweDiHrMDsU6DPJP+KdBQ==\" value=sha256:20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/card sig=\"ed25519:sample:uDB/FZYqEUIsM+Xj4pZ4MlgiviCeu0PXaDWUiSVBjXRqV0h4ji8NhD3/8xrAiUU9u9w8hzn/FG48LbyTEicXDg==\" value=demand-card@8\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/programs sig=\"ed25519:sample:TfCrlJxNKuFCFco4ylugvW/8XqbVixpa4Ocb6cezeNM+wiaI6POyfljk73zgFiB0e1yd9mmw9yt7zXLotg85Cg==\" value=demand-status@8\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:g7KtII8FQ2qk667LPzRHFfWqbvQJhJZ9UpkljKw3pP5PZ3yUUR/54xloAeL5BuXxdy9xI1HQTu//l3oYP/5tCA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:gJqWjIvepWg4W37yNB5hBS6uLtYf+ybhhocEjBj56opyOTe0zcgDwrIkHI1XO/0m5mDpodyOZZihxbTaIw7eBw==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:jFgFhqcwayqDypslhCNkfzq3XKUZJBGINiq+wgE1hRyXqt2cTGYw4xhDljfuvoXsBKQ/x2scwgqLiCLjC9FyBQ==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:30Y0iohT4ZoLxAIYyC+ZiSediuR1QY2dRVXluSZOLFTFbdtAkExQB9hh10c6qvh6FoKAFSrpY5zKlc32u4ROBg==\" value=keys|signer|wire|tree|write|leaf|view|region|uses|dep|tasks|clock|reader|read|fold|receipts|rendered|resolved|beat\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:5VH85B6ytyFFtYorIT1x0YLZ6IVz3R1926+781prj2EHmp4slrkovYUngTP1iFBsqcGWBUXWH1dJ8sz8y29mAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:rGeHTZOLtVVEaHUkAsULl2YW2DxSeYNqz4I1++gdzbWa7RvxUhYXtdo00vs7Qbqzo3d9LJFZsgL04CzwaYzGAw==\" value=alphabet|interval\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/kinds sig=\"ed25519:sample:Bw55gRQCZJkQu4P+W/LAkZjrlCfcifzkb7VQpFMC8azNN/cyMRkv6CwP1C7EZR/DQGV2hpbxIHNrruf+i16cDg==\" value=capsule\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:4cXSjRe0L3TnTZ5SkKgRGZJIg4toRth+W/xvkCNUAWc5ZYBG4qLaVXFQ+eAK4O9bt3XNoH7B4aVu26YHVdjYBw==\" value=receipts|reads|coordinates\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:Hk43rSn3otdXuFoPWN+6kDZX+tQqBZ6WCrS0erVolKkP4zmnUPcNocgEzaPkMZmw9KKLSyrQxeBzrqSDsYjZDw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:gwpBvrVZYzPre3j6WeYqCNh6sEYCnVIWFUu1TlFu7pGioZJYYm/NgirxU2ZAN4PW+RgaptOtTDIqWFom2nW+BQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:TG/uPlzO1GqLWRGcJTm8tD6b3jgO+IEW1flxBkiW6IFvqN3E0aYNHvNYA2ehRHtPHRsCLgYTb5s1dgjXHFIrDQ==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc b/samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc new file mode 100644 index 0000000000000000000000000000000000000000..c339df8af0e7837c54c296e4f08655379b6fe57b GIT binary patch literal 38752 zcmYhiRZv|`8?B4GI|O%k4^DvK?(VQ~m*5cG-QC>@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S#@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S#@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S#@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S# s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..0e71826 --- /dev/null +++ b/samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,6 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** + diff --git a/samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-changed/fixtures/history.txt b/samples/typed-changed/fixtures/history.txt new file mode 100644 index 0000000..e403599 --- /dev/null +++ b/samples/typed-changed/fixtures/history.txt @@ -0,0 +1,51 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:VsMkP6U+BRADaoGYB4DoTba8TzGsIo7ZwQDsMMQxNWD7Cr7jLvUoGLrr6QC4u08w/fjJ1X4kfHHQXFVgnDdeCQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:UH1x6X4otZ5vsrscszJu2fUvgMffXm3Dzu0qmbBiMWm5/aDWD5DfxjcV92/YZnxho+z55C7DuCNM/oOaRZzwCQ==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:1TorNMceIKYuLAx7Maz16HxLQcYTpbrfTQK7rcFKWmSdaOLOp7k/fB1jPOgYOa491Liy5thLpOLEnF8FXJZaBA==" value="MCowBQYDK2VwAyEAG58z6dZIvmH52AzAoqqGA7M7jcoViAB3M9CsqWN912o=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:thYcTjOhMvybi/48CuMpa+uaQSTar6FnA4NqSqAuvnCWtA5NCsdI9qasBveoXFi0ZXeH+fiWWnDj96y9f3m5BA==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:oO1b1jgrfmlAEJKulSyBDIyZS5rfUz2DUPCVPofBhnND6nH91kfEzeUSTGaAurxBbJtax9bKtOy7WcMJVPiiDw==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:DAhd95faMyJ2YlOBqma00TGHylmhmgEW5YzPgrXveXUNH9D99CXFTMenxcqXjr1s0uuEAkhEdNbwqItlCc/ABg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:bXi1tfTzDsqEQH5LrptXEvOFEhbAQj2Ee3FKht5PXQQR2ZgWf99pJ9k8QVvzGhfQtsLDa1ZX+2ym/Esm9tZBCg==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:Gjg/xp919EPHNijaKKRczOdZqlt28mIINUnSmJ2Pjo7G2fGe098/S7kJxUo9ZAuhQW/tgXAwTKLOoDt05pYBBQ==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:hZbpUdp1GN28hqSBfdZdG6iHfpB4f2RhZvYyBOFXdfTHJPkJrtmxKqNpmM3iqp9FGM11+GwkBYAp/qKU0SJuBQ==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:N5rks83bP7kTRvu6DJrkcFXUViALywXSXZpXenyr57zhPpJLTV8nMm8e0S3bmO3dkjcbbBL3RunyYhX1fRlnBg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:Ba5sEbIxx+eaGKQ65SAaW0iLl2NRL++GOVlHgxt2mVcSP5zY/jBQ68q7lTimw/GbUEGW62RQGEuH4RQ9LfcKBA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:yqUYSuUBrmLCaRxUs49bJw6GZ4UR+AZEIqFVCrfCuCL84iIEEgl5JmFsGY5idBU4TNai7OL73RB5c8HLW8vvAQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:ffijhWun3u3KqEophc/oN+L725CXIeIyGrWFRBGcQ3QSmB7dJIn7ZKYqhWhpwZP1T4EPg1W5twEKbmpPFm9DBg==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:mWoFJNA9k14CVpfhriutqyspZndpCYZ4Qa6C8R6qYvw6fBWXYpL6yhoMaUWO7jZ1v8E/t0Mb5tzCQ2EfGOCQCw==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:wKd4krKKtjM1zUCrnPAEz7YM7mKkjjrtIA7jUG+GmxzBYvazVN+yNSgr775nQHGSdYBB4bLrwO5Riu0HgOYZCA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:Rv1xDwk7JPlTw+PMy0poMEp3i6HVj1j9pB2waWY5Lm7Lk+h0DvYOJd9uAWLYx03Q0s0Qpnm4Zms2sWgU9gbACA==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:mYoqaxxcBWvVq+Ix9Vyap3mbfEJMT0sloxIJJB+X6QBM/uLW8AIOHtii0Dbzsp6JQL/qzV7Xct1mqFhxXzzvCQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:P/bVWbvpKUKf1PWCXyzV9qSnW8KktwJZOELfwl5PeneMtPqYJqauvLa4hMBI+PK7Jfa8KIh85gS2KH0yw3yQDw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:F2bCnHhNkTB+8PmxdGW3asEdmgT73j8lzWslBn8dCbqj3eROum6PVxltcdZz4mFmtbFVnfjR0Zk7S8vwoWeaCA==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:o+wWHYYwlL7vFfx5zl1NBfxpD0xGuhJJ+IKU9/0wfCDzZevbHyyh8zZLBiS46MLj5mFE09c3bokZrRpwubJVCQ==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:I+kr5rGhcBz1HyvpQgEpPWbN0mMP68lohQI78zKn6HcdvO32hVVmRsc/sMfhGmy7IyTqAfwbD49OhOwu9ehYAQ==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:8/4PzKXSePJ9eq9T94TzCJcY4XrGZNR0ptU3yengVSCZowa5l5DlMoYqIF6Zy0namKWrigfA/lTmmVH03gEnDw==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:xEpVAfxv3Ctvf4NX6gLp+K9OhQsLEsTQtKB6HsxPgzu4YWaofLnGSBEMVj2ke7ayz2tL6RzRy4htGwYyImUeDg==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:lRT/oGnookdwLPVEl0k60ldCyx7q4JLdloZoU9aSxKNfb2ibOoyD9MeHy/uAvB1CYo2q0jNgBBqP8zYFaeQzCQ==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:X03eNiBB1a96Not9WjtuvXKlyd6J3R+AI9ji/HVNKiANgQP07xVi1QM/6gu2YEkRUoPv5WXJ+/2G/4KPwOACCQ==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:M29F13rqDhquAgmF9MmBPl8Jy5ccbT6qgcHuynZgTXGJ3/SZTnc8snajSG7V9dc4s0EiWlNFaqTC0/FEJnoxAg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:9bSdMTSfgdfF24WBKNigUn4poshvgsnD0HQTW45h8Hf8WHc1UQvA9AkhBI5ZktEWlv8hwpsIRgI5zXKV8burAA==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:GGc07B5DXZuUNVhx9yiIvawmANp6ko+ef3nJtQ3IzAP0FKw7PvTb1r7RgZCClKIzqCmu5y3BizGDj6SfD6IXDw==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:K3d/XQlaU3wyu1TamBA/+VJSfy1KmsFViXBmpBt9MnF+6g9hOnZrWoMl0+q9J1/f6v8XqfKtsr6QJQUSjAAtCQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:0XdwE5in0cHtGcY96AaogV4vTJ2D4+jXKbXXL5Aw8aKLsH0ZHMEhZt7PxS5W/koDB920k72r05cFmD8pGbI/Dg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:TFx3TyIzNst7CuXba7/Hq1vpWf+KrQiQcijBFPm7SIP+PaFCDG9dOmpvagLUJyjrY4vlUzubyoYAzxcSEW7OCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:EONV3/ikDi2bV5PAA/ToMVbCsxqkXGUKUOI+YRvl7vNbKbZwJYfxlx8rlR3NP8XfkL4Yn5JmaFSRsFNb1FY5BA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:OARj4SOVCowLNNI+4mJfFtlnfoRpcfs26HWzwmBh6JPR2BWJxYfO5L8fSZkaONkTigpIdtybuoqCfCkQFBbRBQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:CRtmIQJ3khj1P3k6b3Vtipysxoy918f9qPKraeOSWFCvaz2PFIida5SSEr9BpWnZDlPTT1TcWAc+7wysnqBtDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:LqtTwRzTxsaFsa0KF/n77o0ACCn6mwF++CznrZYAGy/9dovskoSy1768qg8dwQ1WWCacxMyr4K1b/2DEAM4CDg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:Uoc30znLb46hGPYB1MgWb3VEUrNghqVecXRV1o3hCLya2Ou3hx6wiwAzCMNe2xqymHhm20c9+A0cqVS6J29qAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:dQUd3oMsSZhsv9cLP4DeIb2WtrKpkYkPawyzXFzV89zfP2wq8ZRvtg7WfOn/44FBx99kCDT9QRdvTkRibvZ7Bg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:ZNEvf48U2+y6Ed9YOp1Sn+PGMl/IaqAOlvo/O99YS7HCX7cDYMGwQJIFD3IkxOiPmkxncebZzVkwyCAlVRPZBA==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:thQzCswmMWejhRISHPKxIJu3+v4hCAiQO74RDly6FBSY5nFobbN6MwdmIUBz8XVQ1q1zaQD6grPeBNll+gAaBw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:Fzmvbkvoh3UCsDWi/RMJwtXPU+WMJL8ss+5LBdSvnppI5Ggtz5DB6FgZfNzsHniHwLqw3JeUAUyZPbh7AzLTBg==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:cvmxOyXZv03mJAQ1dwb1RLw8LfVXk6FmfFS2OV1IpPunjUWd0HJevgjCZsySjkB2695O4tHo/DbcDQ58s7smCQ==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:GlqfSxkzEXDY1uxAzmaARbuGEcIkzdyZj3QVnQFH/fLlo+QZO5+9rlJQ6kazMT1/wgbsAlprFIrBhKC09D5gCw==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:NIwEnFZGrQBr3wpjlRxE5ds0wle5q+ydvbjemY/HaKPluUBGuZub8XeQmUuOWtdgt1ZOl/ucU1fMiAoxMOKaCw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:JJpJd9FJXEDpdWKTIENvmrWDyEcvaG8W9Mwikfj6q5Lrmck7p0lCmA/9Y6gTg2J3tkPXy6ytl+AuzI7O+fp9Cw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:q+o62aJE9w8/sZaPc+w/cHc64rVvWmk+Ng8hYYD3FMPYnIPpzRYiSyAxUS6PRaV4oZ+IHDz0qQymcE6BYG/KCg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:xZVl486j4WvmQybJ0pLi/Uuv7tFOl8ju0e8n4rBL4Hhvnak/j/qTlSVfILTKT0ZehxyhXWOHZlLYEAle7uIzBQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:vVBOw5CT0eVKRUITqkoqOm4c5kIX6Y5/UK7Jxu5LvUhC6FJfSp+FMvpSIuA9lj6vZuG8wefUVyaFLdzwwWjgBQ==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:ijOF/I2q5cwFa5DRNi2bc1McDR7zBmW8LgdfDse1wPsEfAvaFgNshepAPPaN+SjUq+qFetqPQLh6CxJV62l9BQ==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:WDY5Ggd7Dgrj1VyxfTk1dQajv8Yy5EslNAvsrQxQE9X9ygA2paywJ118kKgwYAmt6eyIaep3sdJLN3xY2gN2CQ==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:LWaUxfRb/3UZqnBXHjSU6TwmrCnoXj9B57L3nPqR/+262RzgcP908oy/96oPBorgLgOR6w+TAa+Ix/cWYJPDBA==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:CU8QiykxIw3+WFTzZQ0NhOgrciXOc40twB69Y/4Qf/NmRkBtJt/GizqfMLgKXuvWqL5KwVbUaGVY1/mH+FcgDw==" sign=+1 type=claim value=44..47 diff --git a/samples/typed-changed/no.json b/samples/typed-changed/no.json new file mode 100644 index 0000000..5b3d074 --- /dev/null +++ b/samples/typed-changed/no.json @@ -0,0 +1,142 @@ +[ + { + "name": "floor-local", + "record": { + "type": "mark", + "scope": "B", + "id": "invalid-floor", + "sign": "+1", + "pole": "floor", + "reach": "local", + "value": "40..*" + }, + "refusal": "positive mark" + }, + { + "name": "floor-widens", + "record": { + "type": "mark", + "scope": "B", + "id": "floor-widens", + "sign": "+1", + "pole": "floor", + "reach": "travels", + "widens": "local-opening", + "value": "40..*" + }, + "refusal": "positive mark" + }, + { + "name": "travelling-widens", + "record": { + "type": "mark", + "scope": "B", + "id": "travelling-widens", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "widens": "local-opening", + "value": "0..100" + }, + "refusal": "positive mark" + }, + { + "name": "object-at", + "record": { + "type": "claim", + "scope": "C", + "id": "object-at", + "sign": "+1", + "origin": "ana", + "value": "44..47", + "at": "origin:ana" + }, + "refusal": "object records carry no at" + }, + { + "name": "typed-missing-origin", + "record": { + "type": "claim", + "scope": "C", + "id": "incomplete", + "sign": "+1", + "value": "44..47" + }, + "refusal": "required.*origin" + }, + { + "name": "legacy-role-cannot-rescue", + "record": { + "type": "claim", + "scope": "C", + "id": "legacy-role", + "role": "reads", + "sign": "+1", + "value": "44..47" + }, + "refusal": "role=.*not allowed" + }, + { + "name": "untyped-id", + "record": { + "scope": "evidence/config", + "role": "writes", + "form": "alphabet", + "measure": "id", + "value": "present", + "at": "policy:sample", + "id": "untyped" + }, + "refusal": "id=.*object-only" + }, + { + "name": "missing-origin-grant", + "record": { + "type": "claim", + "scope": "C", + "id": "missing-origin", + "sign": "+1", + "origin": "unadmitted", + "value": "44..47" + }, + "refusal": "origin is not attested" + }, + { + "name": "missing-witness-grant", + "record": { + "type": "mark", + "scope": "B", + "id": "missing-witness", + "sign": "+1", + "pole": "ceiling", + "reach": "local", + "widens": "unadmitted", + "value": "0..100" + }, + "refusal": "join witness is not admitted" + }, + { + "name": "id-collision", + "record": { + "type": "mark", + "scope": "B", + "id": "s-B", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "value": "0..49" + }, + "refusal": "record ID collision" + }, + { + "name": "cross-cell-takes", + "record": { + "type": "mark", + "scope": "G", + "id": "cross-cell", + "sign": "-1", + "takes": "s-B" + }, + "refusal": "incompatible withdrawal target" + } +] diff --git a/samples/typed-changed/range.vector.json b/samples/typed-changed/range.vector.json new file mode 100644 index 0000000..937b464 --- /dev/null +++ b/samples/typed-changed/range.vector.json @@ -0,0 +1,173 @@ +{ + "status": "captured installed prototype output, not native receipts or release acceptance", + "sample": "range", + "capture": "evidence/shipped-sample.range.json", + "readerArchive": "sha256:f35f1f6d2d3123c726d26f65abafe648e6b529ed3661e2d9dc308dcb1bdf228d", + "pin": "sha256:c98647a42b55fc829e39dea4ee295bec4b36530f17540e4125f2e686f5fd61a7", + "observations": [ + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":47},\"ceiling\":{\"lo\":44,\"hi\":47},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":47},\"ceiling\":{\"lo\":44,\"hi\":47},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":43},\"ceiling\":{\"lo\":44,\"hi\":43},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"},{\"id\":\"disagreement\",\"origin\":\"ana\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", + "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", + "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "args": [ + "fold", + "--as", + "cells" + ], + "status": 0, + "stdoutCELL": [ + "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", + "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", + "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", + "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" + ] + }, + { + "case": "floor-local", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "floor-widens", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "travelling-widens", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "object-at", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 object records carry no at: order is epoch and a local join witness is widens \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "typed-missing-origin", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 a claim/positive record has no declared required `origin` \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "legacy-role-cannot-rescue", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire C \u00b7 `role=` is not allowed on claim/positive \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "untyped-id", + "status": 1, + "stderr": "bound: REFUSE\u00b7wire evidence/config \u00b7 `id=` is an object-only field: untyped configuration cannot carry it \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "missing-origin-grant", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: origin is not attested for missing-origin \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "missing-witness-grant", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: join witness is not admitted for missing-witness \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "id-collision", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: record ID collision s-B \u00b7 nothing landed\n", + "ledgerUnchanged": true + }, + { + "case": "cross-cell-takes", + "status": 1, + "stderr": "bound: REFUSE\u00b7context object context: unauthorized or incompatible withdrawal target s-B \u00b7 nothing landed\n", + "ledgerUnchanged": true + } + ] +} diff --git a/samples/typed-changed/receipts.bound b/samples/typed-changed/receipts.bound new file mode 100644 index 0000000..6e6f9b4 --- /dev/null +++ b/samples/typed-changed/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:b815a508a9ec9615d902f914c3cd88ab1dad8f1abd244ed48153b1e27f727e91 +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d +bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-changed/wire.json b/samples/typed-changed/wire.json new file mode 100644 index 0000000..988a0de --- /dev/null +++ b/samples/typed-changed/wire.json @@ -0,0 +1,22 @@ +[ + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type", + "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type" +] diff --git a/samples/typed-changed/yes.json b/samples/typed-changed/yes.json new file mode 100644 index 0000000..f375bf9 --- /dev/null +++ b/samples/typed-changed/yes.json @@ -0,0 +1,78 @@ +{ + "cells": [ + { + "scope": "B", + "restsOn": "none" + }, + { + "scope": "C", + "restsOn": "B" + }, + { + "scope": "G", + "restsOn": "C" + }, + { + "scope": "D", + "restsOn": "none" + } + ], + "acts": [ + { + "type": "mark", + "scope": "B", + "id": "s-B", + "sign": "+1", + "pole": "ceiling", + "reach": "travels", + "value": "0..50" + }, + { + "type": "mark", + "scope": "B", + "id": "j-B", + "sign": "+1", + "pole": "ceiling", + "reach": "local", + "widens": "local-opening", + "value": "0..100" + }, + { + "type": "mark", + "scope": "B", + "id": "r-B", + "sign": "+1", + "pole": "floor", + "reach": "travels", + "value": "40..*" + }, + { + "type": "claim", + "scope": "C", + "id": "c-C", + "sign": "+1", + "origin": "ana", + "value": "42..48" + }, + { + "type": "claim", + "scope": "C", + "id": "c-L", + "sign": "+1", + "origin": "luis", + "value": "44..47" + } + ], + "form": "interval", + "measure": "count", + "params": { + "lo": 0, + "hi": 100 + }, + "scenarios": { + "conflicting": "40..43", + "outside": "65..75", + "floorConflict": "60..*" + }, + "place": "range" +} diff --git a/samples/typed-object-1/TARGET.bound b/samples/typed-object-1/TARGET.bound new file mode 100644 index 0000000..1b3ec9b --- /dev/null +++ b/samples/typed-object-1/TARGET.bound @@ -0,0 +1,119 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:d2046c548c1b482c60d05bb51eec28ef0290c8ad9eb27ee39afa89f1bb9d9e1b role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d new file mode 100644 index 0000000..6a89e3b --- /dev/null +++ b/samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 new file mode 100644 index 0000000..e7b9bcf --- /dev/null +++ b/samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 new file mode 100644 index 0000000..3ee193c --- /dev/null +++ b/samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae new file mode 100644 index 0000000..2d87ef9 --- /dev/null +++ b/samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 new file mode 100644 index 0000000..38d76af --- /dev/null +++ b/samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 new file mode 100644 index 0000000..2c3cd2c --- /dev/null +++ b/samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 new file mode 100644 index 0000000..d6ccd40 --- /dev/null +++ b/samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-object-1/fixtures/history.txt b/samples/typed-object-1/fixtures/history.txt new file mode 100644 index 0000000..c5f56f8 --- /dev/null +++ b/samples/typed-object-1/fixtures/history.txt @@ -0,0 +1,51 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 diff --git a/samples/typed-object-1/receipts.bound b/samples/typed-object-1/receipts.bound new file mode 100644 index 0000000..b8a9add --- /dev/null +++ b/samples/typed-object-1/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:59b55cbd5bcdd8764d6a08783c1e3dabd1ce1f7522819f52d36c3189c9d6cc93 +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d +bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-2/TARGET.bound b/samples/typed-object-2/TARGET.bound new file mode 100644 index 0000000..2f96d3b --- /dev/null +++ b/samples/typed-object-2/TARGET.bound @@ -0,0 +1,120 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:08d6a909cc3df633bc896d1c9eed6182fd5cce03d48e9c51cc6dc42f462fa5fd role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b new file mode 100644 index 0000000..31dd724 --- /dev/null +++ b/samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf new file mode 100644 index 0000000..0732d3f --- /dev/null +++ b/samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d new file mode 100644 index 0000000..6a89e3b --- /dev/null +++ b/samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 new file mode 100644 index 0000000..42fbbde --- /dev/null +++ b/samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 new file mode 100644 index 0000000..36ef941 --- /dev/null +++ b/samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 new file mode 100644 index 0000000..123e611 --- /dev/null +++ b/samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 new file mode 100644 index 0000000..e7b9bcf --- /dev/null +++ b/samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 new file mode 100644 index 0000000..3ee193c --- /dev/null +++ b/samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae new file mode 100644 index 0000000..2d87ef9 --- /dev/null +++ b/samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 new file mode 100644 index 0000000..38d76af --- /dev/null +++ b/samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 new file mode 100644 index 0000000..c485bae --- /dev/null +++ b/samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 new file mode 100644 index 0000000..c45eec1 --- /dev/null +++ b/samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 new file mode 100644 index 0000000..2c3cd2c --- /dev/null +++ b/samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e new file mode 100644 index 0000000..c3b6f69 --- /dev/null +++ b/samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 new file mode 100644 index 0000000..d6ccd40 --- /dev/null +++ b/samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-object-2/fixtures/history.txt b/samples/typed-object-2/fixtures/history.txt new file mode 100644 index 0000000..98db78d --- /dev/null +++ b/samples/typed-object-2/fixtures/history.txt @@ -0,0 +1,52 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 +bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 diff --git a/samples/typed-object-2/receipts.bound b/samples/typed-object-2/receipts.bound new file mode 100644 index 0000000..5b3a67e --- /dev/null +++ b/samples/typed-object-2/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:05809da5030b1679d844eb552a6c5cee1f399590eaf78f1746b2bdbe4a609d55 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:3326c8790f87075e1a238c123ab28287eaca427820aeb8eb1756580927660365 +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:7b6230d7a315af07be6385ed623627ca09ac669644452f818d5e2af420818aac by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:856763a8decea86be052b3257383574f3132e8b20774ef59f2aa906db498290d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:856763a8decea86be052b3257383574f3132e8b20774ef59f2aa906db498290d +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-3/TARGET.bound b/samples/typed-object-3/TARGET.bound new file mode 100644 index 0000000..3bbaa6d --- /dev/null +++ b/samples/typed-object-3/TARGET.bound @@ -0,0 +1,123 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:5abc0cd746a5cdfd01751df71f39d839caee5382d5224dd050e03571a9efd6aa role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 new file mode 100644 index 0000000..dcd6892 --- /dev/null +++ b/samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b new file mode 100644 index 0000000..31dd724 --- /dev/null +++ b/samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf new file mode 100644 index 0000000..0732d3f --- /dev/null +++ b/samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d new file mode 100644 index 0000000..6a89e3b --- /dev/null +++ b/samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 new file mode 100644 index 0000000..42fbbde --- /dev/null +++ b/samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 new file mode 100644 index 0000000..3bfd607 --- /dev/null +++ b/samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 new file mode 100644 index 0000000..36ef941 --- /dev/null +++ b/samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 new file mode 100644 index 0000000..123e611 --- /dev/null +++ b/samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 new file mode 100644 index 0000000..e7b9bcf --- /dev/null +++ b/samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 new file mode 100644 index 0000000..3ee193c --- /dev/null +++ b/samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae new file mode 100644 index 0000000..2d87ef9 --- /dev/null +++ b/samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 new file mode 100644 index 0000000..be5a0c6 --- /dev/null +++ b/samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 new file mode 100644 index 0000000..38d76af --- /dev/null +++ b/samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 new file mode 100644 index 0000000..c485bae --- /dev/null +++ b/samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 new file mode 100644 index 0000000..c45eec1 --- /dev/null +++ b/samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 new file mode 100644 index 0000000..2c3cd2c --- /dev/null +++ b/samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e new file mode 100644 index 0000000..c3b6f69 --- /dev/null +++ b/samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 new file mode 100644 index 0000000..d6ccd40 --- /dev/null +++ b/samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c new file mode 100644 index 0000000..de87ea1 --- /dev/null +++ b/samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-object-3/fixtures/history.txt b/samples/typed-object-3/fixtures/history.txt new file mode 100644 index 0000000..a160de5 --- /dev/null +++ b/samples/typed-object-3/fixtures/history.txt @@ -0,0 +1,55 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 +bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 +bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim +bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim +bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim diff --git a/samples/typed-object-3/receipts.bound b/samples/typed-object-3/receipts.bound new file mode 100644 index 0000000..1af0614 --- /dev/null +++ b/samples/typed-object-3/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:8762400983c1dc1f547013c244f00e5c4a2059bf5c85fa908e3b4d56c1a4c925 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:cc29178b060ef2000f0de5a816a0fda2fd7efe0305aa6d14831e399345690005 +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:2cf72fdbccf22113f0a2b62c1e9f4aa73cb2b226c6531cce7c968d93b5eac0de by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2cf72fdbccf22113f0a2b62c1e9f4aa73cb2b226c6531cce7c968d93b5eac0de +bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:4bca2e13a4649156417252e6c66c861a95095c47e4cc14b38392eee55b396a46 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-4/TARGET.bound b/samples/typed-object-4/TARGET.bound new file mode 100644 index 0000000..48fb3dd --- /dev/null +++ b/samples/typed-object-4/TARGET.bound @@ -0,0 +1,125 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:b0c107600001f920f63cbaf1ade9bbf84edad1eae479d991ec16627411889d4f role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 role=writes scope=dep/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 value=sha256:520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 role=writes scope=dep/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 value=sha256:59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 new file mode 100644 index 0000000..dcd6892 --- /dev/null +++ b/samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b new file mode 100644 index 0000000..31dd724 --- /dev/null +++ b/samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf new file mode 100644 index 0000000..0732d3f --- /dev/null +++ b/samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d new file mode 100644 index 0000000..6a89e3b --- /dev/null +++ b/samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 new file mode 100644 index 0000000..42fbbde --- /dev/null +++ b/samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 b/samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 new file mode 100644 index 0000000..9144131 --- /dev/null +++ b/samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 new file mode 100644 index 0000000..3bfd607 --- /dev/null +++ b/samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 new file mode 100644 index 0000000..36ef941 --- /dev/null +++ b/samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 new file mode 100644 index 0000000..123e611 --- /dev/null +++ b/samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 b/samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 new file mode 100644 index 0000000..ba34f8a --- /dev/null +++ b/samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 new file mode 100644 index 0000000..e7b9bcf --- /dev/null +++ b/samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 new file mode 100644 index 0000000..3ee193c --- /dev/null +++ b/samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae new file mode 100644 index 0000000..2d87ef9 --- /dev/null +++ b/samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 new file mode 100644 index 0000000..7634278 --- /dev/null +++ b/samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 new file mode 100644 index 0000000..83e6f9b --- /dev/null +++ b/samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 new file mode 100644 index 0000000..be5a0c6 --- /dev/null +++ b/samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 new file mode 100644 index 0000000..38d76af --- /dev/null +++ b/samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 new file mode 100644 index 0000000..c485bae --- /dev/null +++ b/samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 new file mode 100644 index 0000000..c45eec1 --- /dev/null +++ b/samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 new file mode 100644 index 0000000..2c3cd2c --- /dev/null +++ b/samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e new file mode 100644 index 0000000..c3b6f69 --- /dev/null +++ b/samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 new file mode 100644 index 0000000..bc326ae --- /dev/null +++ b/samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 new file mode 100644 index 0000000..d6ccd40 --- /dev/null +++ b/samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c new file mode 100644 index 0000000..de87ea1 --- /dev/null +++ b/samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-object-4/fixtures/history.txt b/samples/typed-object-4/fixtures/history.txt new file mode 100644 index 0000000..3015e39 --- /dev/null +++ b/samples/typed-object-4/fixtures/history.txt @@ -0,0 +1,57 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 +bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 +bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim +bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim +bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim +bound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig="ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==" sign=+1 type=claim value=65..75 +bound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig="ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==" sign=+1 type=claim value=65..75 diff --git a/samples/typed-object-4/receipts.bound b/samples/typed-object-4/receipts.bound new file mode 100644 index 0000000..563ec9e --- /dev/null +++ b/samples/typed-object-4/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:56d0ddd642b140b986b077d2a0fcd16b29ef48c4a9d7bfe022f992aa583aa2fa by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:2214fa080bf652821c25e2924a77121cb75be5924bdfd28517a6908a45780b45 +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 +bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:7c83c3954ba9a355573f179fcd267598f46567ce80d249324c6832c6c74e0a38 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-5/TARGET.bound b/samples/typed-object-5/TARGET.bound new file mode 100644 index 0000000..01b8163 --- /dev/null +++ b/samples/typed-object-5/TARGET.bound @@ -0,0 +1,126 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:3129f4571d81b4808ff93ed7587dbee965315bea2c26c012b8f5d3bb356dd2ad role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a role=writes scope=dep/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a value=sha256:124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 role=writes scope=dep/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 value=sha256:520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 role=writes scope=dep/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 value=sha256:59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 new file mode 100644 index 0000000..dcd6892 --- /dev/null +++ b/samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a b/samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a new file mode 100644 index 0000000..f401e56 --- /dev/null +++ b/samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b new file mode 100644 index 0000000..31dd724 --- /dev/null +++ b/samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf new file mode 100644 index 0000000..0732d3f --- /dev/null +++ b/samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d new file mode 100644 index 0000000..6a89e3b --- /dev/null +++ b/samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 new file mode 100644 index 0000000..42fbbde --- /dev/null +++ b/samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 b/samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 new file mode 100644 index 0000000..9144131 --- /dev/null +++ b/samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 new file mode 100644 index 0000000..3bfd607 --- /dev/null +++ b/samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 new file mode 100644 index 0000000..36ef941 --- /dev/null +++ b/samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 new file mode 100644 index 0000000..123e611 --- /dev/null +++ b/samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 b/samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 new file mode 100644 index 0000000..ba34f8a --- /dev/null +++ b/samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 b/samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 new file mode 100644 index 0000000..559835f --- /dev/null +++ b/samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 new file mode 100644 index 0000000..e7b9bcf --- /dev/null +++ b/samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 new file mode 100644 index 0000000..3ee193c --- /dev/null +++ b/samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae new file mode 100644 index 0000000..2d87ef9 --- /dev/null +++ b/samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d b/samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d new file mode 100644 index 0000000..bfcfa00 --- /dev/null +++ b/samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 new file mode 100644 index 0000000..7634278 --- /dev/null +++ b/samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 new file mode 100644 index 0000000..83e6f9b --- /dev/null +++ b/samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 new file mode 100644 index 0000000..be5a0c6 --- /dev/null +++ b/samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 new file mode 100644 index 0000000..38d76af --- /dev/null +++ b/samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 new file mode 100644 index 0000000..c485bae --- /dev/null +++ b/samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 new file mode 100644 index 0000000..c45eec1 --- /dev/null +++ b/samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 new file mode 100644 index 0000000..2c3cd2c --- /dev/null +++ b/samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e new file mode 100644 index 0000000..c3b6f69 --- /dev/null +++ b/samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 new file mode 100644 index 0000000..bc326ae --- /dev/null +++ b/samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 new file mode 100644 index 0000000..d6ccd40 --- /dev/null +++ b/samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c new file mode 100644 index 0000000..de87ea1 --- /dev/null +++ b/samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-object-5/fixtures/history.txt b/samples/typed-object-5/fixtures/history.txt new file mode 100644 index 0000000..035141b --- /dev/null +++ b/samples/typed-object-5/fixtures/history.txt @@ -0,0 +1,58 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 +bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 +bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim +bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim +bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim +bound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig="ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==" sign=+1 type=claim value=65..75 +bound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig="ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==" sign=+1 type=claim value=65..75 +bound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig="ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==" sign=+1 type=mark value=60..* diff --git a/samples/typed-object-5/receipts.bound b/samples/typed-object-5/receipts.bound new file mode 100644 index 0000000..47bee11 --- /dev/null +++ b/samples/typed-object-5/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:0f0038e850e6250ee2ea200b6a68f3bf2cb1a370afbc23eaec9ed192c8af95af by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:07a984dd9883d098a0d0fe38d900031703b46e84764746846667022285ba8186 +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 +bound-lock/1 at=place:sha256:6b3d9ee8fa1ed42d33717982bdd9c5a82c5ff03e1bfd654c40f56f3577114fa3 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:7c83c3954ba9a355573f179fcd267598f46567ce80d249324c6832c6c74e0a38 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-6/TARGET.bound b/samples/typed-object-6/TARGET.bound new file mode 100644 index 0000000..e57b082 --- /dev/null +++ b/samples/typed-object-6/TARGET.bound @@ -0,0 +1,127 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:5c05b3e1c555b54a4262114f56513b1ff17e7a7b58829ff6e28e6bc65a521273 role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a role=writes scope=dep/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a value=sha256:124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 role=writes scope=dep/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 value=sha256:520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 role=writes scope=dep/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 value=sha256:59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 role=writes scope=dep/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 value=sha256:f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 new file mode 100644 index 0000000..dcd6892 --- /dev/null +++ b/samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a b/samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a new file mode 100644 index 0000000..f401e56 --- /dev/null +++ b/samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b new file mode 100644 index 0000000..31dd724 --- /dev/null +++ b/samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf new file mode 100644 index 0000000..0732d3f --- /dev/null +++ b/samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d new file mode 100644 index 0000000..6a89e3b --- /dev/null +++ b/samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 new file mode 100644 index 0000000..42fbbde --- /dev/null +++ b/samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 b/samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 new file mode 100644 index 0000000..9144131 --- /dev/null +++ b/samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 new file mode 100644 index 0000000..3bfd607 --- /dev/null +++ b/samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 new file mode 100644 index 0000000..36ef941 --- /dev/null +++ b/samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 new file mode 100644 index 0000000..123e611 --- /dev/null +++ b/samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 b/samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 new file mode 100644 index 0000000..ba34f8a --- /dev/null +++ b/samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 b/samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 new file mode 100644 index 0000000..4923438 --- /dev/null +++ b/samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:Iwp0NmoB8/maBL25tClYX2nNDTylX7NgWYzhmMyxyzcD88k0XZXSPRgNO/VXL+mP4ntdDzOXUOYaY4FzHtdiAQ==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 b/samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 new file mode 100644 index 0000000..559835f --- /dev/null +++ b/samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 new file mode 100644 index 0000000..e7b9bcf --- /dev/null +++ b/samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 new file mode 100644 index 0000000..3ee193c --- /dev/null +++ b/samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae new file mode 100644 index 0000000..2d87ef9 --- /dev/null +++ b/samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d b/samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d new file mode 100644 index 0000000..bfcfa00 --- /dev/null +++ b/samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 new file mode 100644 index 0000000..7634278 --- /dev/null +++ b/samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 new file mode 100644 index 0000000..83e6f9b --- /dev/null +++ b/samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 new file mode 100644 index 0000000..be5a0c6 --- /dev/null +++ b/samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 new file mode 100644 index 0000000..38d76af --- /dev/null +++ b/samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 new file mode 100644 index 0000000..c485bae --- /dev/null +++ b/samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 new file mode 100644 index 0000000..c45eec1 --- /dev/null +++ b/samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 new file mode 100644 index 0000000..2c3cd2c --- /dev/null +++ b/samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e new file mode 100644 index 0000000..c3b6f69 --- /dev/null +++ b/samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 new file mode 100644 index 0000000..bc326ae --- /dev/null +++ b/samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 new file mode 100644 index 0000000..d6ccd40 --- /dev/null +++ b/samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c new file mode 100644 index 0000000..de87ea1 --- /dev/null +++ b/samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 b/samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 new file mode 100644 index 0000000..9d782fc --- /dev/null +++ b/samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=15 id=withdraw-j scope=B sig=\"ed25519:sample:jFLVxzP6snI37MVTIVTl1YlOragUfenD75co+ma8wKP49qsFzoZbCQLvnoQ3VpqfkMfOwXwGAuCfNrE9/HUWDw==\" sign=-1 takes=j-B type=mark\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-object-6/fixtures/history.txt b/samples/typed-object-6/fixtures/history.txt new file mode 100644 index 0000000..ad3831b --- /dev/null +++ b/samples/typed-object-6/fixtures/history.txt @@ -0,0 +1,59 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 +bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 +bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim +bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim +bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim +bound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig="ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==" sign=+1 type=claim value=65..75 +bound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig="ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==" sign=+1 type=claim value=65..75 +bound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig="ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==" sign=+1 type=mark value=60..* +bound-lock/1 by=device epoch=15 id=withdraw-j scope=B sig="ed25519:sample:jFLVxzP6snI37MVTIVTl1YlOragUfenD75co+ma8wKP49qsFzoZbCQLvnoQ3VpqfkMfOwXwGAuCfNrE9/HUWDw==" sign=-1 takes=j-B type=mark diff --git a/samples/typed-object-6/receipts.bound b/samples/typed-object-6/receipts.bound new file mode 100644 index 0000000..cf262bd --- /dev/null +++ b/samples/typed-object-6/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:0e667e85bc8c97d6858b444b7b86af2ccdea233e1ad4cf07bf33f4917c92a63d by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:e44f9ad38dfa3bab0043c07937d1c1c80e4e58fa1165f7012b04002cf2a0e2fe +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 +bound-lock/1 at=place:sha256:6b3d9ee8fa1ed42d33717982bdd9c5a82c5ff03e1bfd654c40f56f3577114fa3 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:7c83c3954ba9a355573f179fcd267598f46567ce80d249324c6832c6c74e0a38 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:87ad8e34d3622c1125a4eeb0610d3785a01ad3afdc7222f7e0c9422ed4022b33 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 +bound-lock/1 at=place:sha256:9d664273454e5ce554288f74a09564b7f94a4a9d3355ded03287c72f7fade342 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:9d664273454e5ce554288f74a09564b7f94a4a9d3355ded03287c72f7fade342 +bound-lock/1 at=place:sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 diff --git a/samples/typed-object-7/TARGET.bound b/samples/typed-object-7/TARGET.bound new file mode 100644 index 0000000..2cc1afe --- /dev/null +++ b/samples/typed-object-7/TARGET.bound @@ -0,0 +1,119 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:9479cc97d314e5f46f9ad345aeedc3a66c4925234d343751841b3d9e43ab61ca role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b new file mode 100644 index 0000000..31dd724 --- /dev/null +++ b/samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf new file mode 100644 index 0000000..0732d3f --- /dev/null +++ b/samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d new file mode 100644 index 0000000..6a89e3b --- /dev/null +++ b/samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 new file mode 100644 index 0000000..3bfd607 --- /dev/null +++ b/samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 new file mode 100644 index 0000000..36ef941 --- /dev/null +++ b/samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 new file mode 100644 index 0000000..123e611 --- /dev/null +++ b/samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 b/samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 new file mode 100644 index 0000000..cf16917 --- /dev/null +++ b/samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=15 id=withdraw-j scope=B sig=\"ed25519:sample:xtPOw6wzo11/sLRDT66pIet86Tdlk+U5ueB+fk1QyxsAq17h8Agal8e3SPnhCp3m0grXf5RXYti/05ADFasqDA==\" sign=-1 takes=j-B type=mark\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:Iwp0NmoB8/maBL25tClYX2nNDTylX7NgWYzhmMyxyzcD88k0XZXSPRgNO/VXL+mP4ntdDzOXUOYaY4FzHtdiAQ==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 b/samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 new file mode 100644 index 0000000..4923438 --- /dev/null +++ b/samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:Iwp0NmoB8/maBL25tClYX2nNDTylX7NgWYzhmMyxyzcD88k0XZXSPRgNO/VXL+mP4ntdDzOXUOYaY4FzHtdiAQ==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 b/samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 new file mode 100644 index 0000000..559835f --- /dev/null +++ b/samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 new file mode 100644 index 0000000..e7b9bcf --- /dev/null +++ b/samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 new file mode 100644 index 0000000..3ee193c --- /dev/null +++ b/samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae new file mode 100644 index 0000000..2d87ef9 --- /dev/null +++ b/samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d b/samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d new file mode 100644 index 0000000..bfcfa00 --- /dev/null +++ b/samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 new file mode 100644 index 0000000..7634278 --- /dev/null +++ b/samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 new file mode 100644 index 0000000..83e6f9b --- /dev/null +++ b/samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 new file mode 100644 index 0000000..38d76af --- /dev/null +++ b/samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 new file mode 100644 index 0000000..c485bae --- /dev/null +++ b/samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 new file mode 100644 index 0000000..c45eec1 --- /dev/null +++ b/samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 new file mode 100644 index 0000000..2c3cd2c --- /dev/null +++ b/samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e new file mode 100644 index 0000000..c3b6f69 --- /dev/null +++ b/samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 new file mode 100644 index 0000000..bc326ae --- /dev/null +++ b/samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 new file mode 100644 index 0000000..d6ccd40 --- /dev/null +++ b/samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed-object-7/fixtures/history.txt b/samples/typed-object-7/fixtures/history.txt new file mode 100644 index 0000000..35c059e --- /dev/null +++ b/samples/typed-object-7/fixtures/history.txt @@ -0,0 +1,51 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=local scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 diff --git a/samples/typed-object-7/receipts.bound b/samples/typed-object-7/receipts.bound new file mode 100644 index 0000000..5bb8187 --- /dev/null +++ b/samples/typed-object-7/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:cac4cd94477bbd8c55826c3039f196a54cacea110b4ec7293dbc988b2a0f622f +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d +bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed/TARGET.bound b/samples/typed/TARGET.bound new file mode 100644 index 0000000..b397870 --- /dev/null +++ b/samples/typed/TARGET.bound @@ -0,0 +1,112 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:1TorNMceIKYuLAx7Maz16HxLQcYTpbrfTQK7rcFKWmSdaOLOp7k/fB1jPOgYOa491Liy5thLpOLEnF8FXJZaBA==" value="MCowBQYDK2VwAyEAG58z6dZIvmH52AzAoqqGA7M7jcoViAB3M9CsqWN912o=" +bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana +bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold +bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read +bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* +bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:1886c65bccec6469fb99dbe393ecfdb7c3886b3b48d27698fa1052410c5d717d role=demands scope=view/cells value=cells@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file +bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 diff --git a/samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 new file mode 100644 index 0000000..dd947c0 --- /dev/null +++ b/samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 @@ -0,0 +1,41 @@ +const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); +const zero = () => { + const m = {}; + for (const a of STATES) { + m[a] = {}; + for (const b of STATES) + m[a][b] = 0; + } + return m; +}; +export function transitions(before, after, width) { + const at = (q, bit) => { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; + }; + const m = zero(); + for (let bit = 0; bit < width; bit++) { + const a = at(before, bit); + const b = at(after, bit); + if (a === null || b === null) + continue; + m[a][b] += 1; + } + return m; +} +export function dangerous(m) { + return DANGEROUS + .map(([from, to]) => ({ from, to, n: m[from][to] })) + .filter((x) => x.n > 0); +} +export function moved(m) { + let n = 0; + for (const a of STATES) + for (const b of STATES) + if (a !== b) + n += m[a][b]; + return n; +} diff --git a/samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 new file mode 100644 index 0000000..6176f35 --- /dev/null +++ b/samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 @@ -0,0 +1,13 @@ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +const READINGS = intervals(-Infinity, Infinity); +/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ +const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; +/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ +export function combine(measure, values) { + const how = COMBINATIONS[measure]; + if (how === 'max') + return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; + if (how === 'sum' || values.length <= 1) + return values.reduce((sum, one) => sum + one, 0); + throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); +} diff --git a/samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 new file mode 100644 index 0000000..528e71a --- /dev/null +++ b/samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 @@ -0,0 +1,14 @@ +export function eq(L, a, b) { + return L.leq(a, b) && L.leq(b, a); +} +export function relate(L, a, b) { + const ab = L.leq(a, b); + const ba = L.leq(b, a); + if (ab && ba) + return 'equal'; + if (ab) + return 'narrower'; + if (ba) + return 'wider'; + return 'incomparable'; +} diff --git a/samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 new file mode 100644 index 0000000..92b7f6f --- /dev/null +++ b/samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 @@ -0,0 +1,29 @@ +export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; +export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; +export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; +export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; +export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; +export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; +export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; +export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; +export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; +export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; +export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; +export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; +export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 new file mode 100644 index 0000000..443342a --- /dev/null +++ b/samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 @@ -0,0 +1,11 @@ +export class UnitError extends Error { + code; + detail; + constructor(code, message, detail = {}) { + super(message); + this.name = 'UnitError'; + this.code = code; + this.detail = Object.freeze({ ...detail }); + Object.setPrototypeOf(this, UnitError.prototype); + } +} diff --git a/samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c new file mode 100644 index 0000000..730688d --- /dev/null +++ b/samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c @@ -0,0 +1,15 @@ +export function formatSignature(algorithm, raw) { + return `${algorithm}:${raw}`; +} +export function parseSignature(value) { + const colon = value.lastIndexOf(':'); + if (colon <= 0 || colon === value.length - 1) + return null; + return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; +} +/** The fields a signature covers: every field but the signature itself, with the signer named. */ +export function signedFieldsOf(fields, signer) { + const covered = { ...fields, by: signer }; + delete covered['sig']; + return covered; +} diff --git a/samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 new file mode 100644 index 0000000..7a74f70 --- /dev/null +++ b/samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 @@ -0,0 +1,18 @@ +import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; + +// This sample world grants origins and local openings only from admitted records. +// Signing authority and observation origin are separate inputs. +export function context({digest, records, admit}) { + const granted = (family, id, by, scope) => records.filter(row => + row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) + && (row.condition ?? '').split('|').includes(scope)).length === 1; + return { + resolve(cell) { + const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); + if(!form)throw Error('REFUSE·codec sample has no selected form'); + return {digest,form,params:JSON.parse(cell.fields.params)}; + }, + origin: (id, by, scope) => granted('evidence/origin', id, by, scope), + witness: (id, by, scope) => granted('evidence/witness', id, by, scope), + }; +} diff --git a/samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 new file mode 100644 index 0000000..9bd0d70 --- /dev/null +++ b/samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 @@ -0,0 +1,40 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ +export function transportSelection(lines, scheme) { + const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'content-request/1')) + throw Error('REFUSE·wire unsupported content transport'); + const one = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) + throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); + return rows[0]; + }; + const name = one(`transport/${scheme}`, 'id').value; + if (!name) + throw Error(`REFUSE·transport ${scheme} has no mechanism`); + const limit = (scope, measure) => { + const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + throw Error(`REFUSE·transport ${scheme} missing ${scope}`); + const lattice = intervals(0, Infinity); + const bound = rows.reduce((held, row) => { + const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; + if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) + throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); + return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); + }, lattice.top); + if (!lattice.inhabited(bound)) + throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); + return bound.hi; + }; + return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; +} +/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ +export function contentRequest(location, digest, limits) { + const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; + return JSON.stringify(request) + '\n'; +} diff --git a/samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b new file mode 100644 index 0000000..a95dd39 --- /dev/null +++ b/samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b @@ -0,0 +1,119 @@ +import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ +export function validateObjectContext(records, context) { + const fail = (why) => refuse(`object context: ${why}`); + const ids = new Map(); + for (const record of records) { + if (!context.admit(record)) + return fail(`signature or authority does not admit ${record.fields.id}`); + const prior = ids.get(record.fields.id); + if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) + return fail(`record ID collision ${record.fields.id}`); + if (!prior) + ids.set(record.fields.id, record); + } + const unique = [...ids.values()]; + const cells = new Map(); + for (const record of unique.filter(r => r.record === 'cell')) { + if (cells.has(record.fields.scope)) + return fail(`cell definition is not unique at ${record.fields.scope}`); + cells.set(record.fields.scope, record); + } + const selected = new Map(); + for (const [scope, record] of cells) { + try { + const got = context.resolve(record); + if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) + return fail(`selected digest/form does not match ${scope}`); + got.form.lattice(got.params); + selected.set(scope, got); + } + catch (error) { + return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); + } + } + const edges = new Map(); + for (const [scope, record] of cells) { + const rest = restCoordinates(record.fields.restsOn); + if (rest === undefined) + return fail(`invalid declared rest at ${scope}`); + for (const parent of rest) { + const ancestor = cells.get(parent); + if (!ancestor) + return fail(`missing rest target ${parent}`); + if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) + return fail(`rest target ${parent} did not exist at cell declaration`); + if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) + return fail(`incompatible rest component ${scope}/${parent}`); + } + edges.set(scope, rest); + } + // Structural DAG validation reads edges alone, never marks or object restOf. + const colour = new Map(); + for (const scope of cells.keys()) { + if (colour.get(scope) === 2) + continue; + const stack = [{ name: scope, exit: false }]; + while (stack.length) { + const next = stack.pop(); + if (next.exit) { + colour.set(next.name, 2); + continue; + } + if (colour.get(next.name) === 1) + return fail(`declared rest cycle reachable from ${scope}`); + if (colour.get(next.name) === 2) + continue; + colour.set(next.name, 1); + stack.push({ name: next.name, exit: true }); + for (const parent of [...edges.get(next.name)].reverse()) + stack.push({ name: parent, exit: false }); + } + } + for (const record of unique.filter(r => r.record !== 'cell')) { + const f = record.fields; + const own = cells.get(f.scope); + if (!own || Number(own.fields.epoch) > Number(f.epoch)) + return fail(`cell not declared before ${f.id}`); + if (f.sign === '-1') { + const target = ids.get(f.takes); + if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) + return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); + } + else { + const codec = selected.get(f.scope); + try { + codec.form.parse(codec.params, f.value); + } + catch (error) { + return fail(`span codec stop at ${f.id}: ${String(error)}`); + } + if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) + return fail(`origin is not attested for ${f.id}`); + if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) + return fail(`join witness is not admitted for ${f.id}`); + } + } + // Only potentially noncommuting ceiling marks participate in the order check. + for (const scope of cells.keys()) { + const rest = new Set(); + const pending = [...edges.get(scope)]; + while (pending.length) { + const name = pending.pop(); + if (rest.has(name)) + continue; + rest.add(name); + pending.push(...edges.get(name)); + } + const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); + const epochs = new Map(); + for (const m of marks) + epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); + for (const same of epochs.values()) + if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) + return fail(`ambiguous same-epoch ceiling acts at ${scope}`); + } + return fact(unique); +} diff --git a/samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 new file mode 100644 index 0000000..f585797 --- /dev/null +++ b/samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 @@ -0,0 +1,5 @@ +bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context +bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval +bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context +bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 new file mode 100644 index 0000000..982be62 --- /dev/null +++ b/samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); +export const stretchForm = { + id: 'stretch', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('stretch', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c new file mode 100644 index 0000000..c6830fe --- /dev/null +++ b/samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c @@ -0,0 +1,38 @@ +import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; +import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; +export function declarationOf(c, place) { + return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); +} +export function unitOf(c, place) { + const { demand, limit } = declarationOf(c, place); + return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); +} +export function stateOf(c, place) { + return state(c, unitOf(c, place)); +} +export function registerOf(c, place) { + return statesPerDebit(c, unitOf(c, place)); +} +export function premiumOf(c, value, place) { + const { demand, limit } = declarationOf(c, place); + return premium(c, value, demand, limit); +} +export function degenerate(c, value) { + return isSupermodular(c, value); +} +export function withdrawsExactly(c) { + return isDistributive(c); +} +export function movesOf(c, before, after) { + const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); + const was = new Map(registerOf(c, before)); + for (const [debit, now] of registerOf(c, after)) { + const then = was.get(debit); + if (then) + moves[then][now] += 1; + } + return moves; +} diff --git a/samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 new file mode 100644 index 0000000..9dbb6d3 --- /dev/null +++ b/samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 @@ -0,0 +1,4 @@ +import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +export function replay(landed, where, verdict) { + return foldRegion(landed, where, verdict); +} diff --git a/samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 new file mode 100644 index 0000000..0c2ed61 --- /dev/null +++ b/samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); +export const rankForm = { + id: 'rank', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('rank', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff new file mode 100644 index 0000000..c3c7d5a --- /dev/null +++ b/samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff @@ -0,0 +1,80 @@ +const SLACK = 1e-12; +export function c_n(n) { + return Math.log2(n) - 2 + 2 / n; +} +export function costOfState(c, value, u, w, s) { + return { + shortfall: value(u) - value(c.lower(u, s)), + overshoot: value(s) - value(c.lower(s, w)), + }; +} +const costAt = (c, value, u, w, s) => { + const { shortfall, overshoot } = costOfState(c, value, u, w, s); + return shortfall + overshoot; +}; +function cheapest(c, value, u, w, visit) { + let cost; + let at = c.bottomIx; + visit((s) => { + const cs = costAt(c, value, u, w, s); + if (cost === undefined || cs < cost) { + cost = cs; + at = s; + } + }); + return { cost: cost ?? costAt(c, value, u, w, at), at }; +} +function eachPair(c, u, w, fn) { + for (let p = 0; p < c.levels.length; p++) { + if (!c.leq(p, u)) + continue; + for (let q = 0; q < c.levels.length; q++) { + if (!c.leq(q, w)) + continue; + fn(p, q); + } + } +} +export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { + for (let s = 0; s < c.levels.length; s++) + take(s); +}); +export function gap(c, value, u, w) { + const m = c.lower(u, w); + let mx = value(m); + eachPair(c, u, w, (p, q) => { + const v = value(p) + value(q) - value(c.higher(p, q)); + if (v > mx) + mx = v; + }); + return mx - value(m); +} +export function premium(c, value, u, w) { + return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; +} +export function isSupermodular(c, value) { + for (let x = 0; x < c.levels.length; x++) { + for (let y = 0; y < c.levels.length; y++) { + const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); + if (ri > SLACK) + return false; + } + } + return true; +} +function gapVanishes(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + SLACK) + return false; + } + } + return isSupermodular(c, value); +} +export function pricesAnything(c, worth) { + return !gapVanishes(c, worth); +} +export function collapses(c, value, u, w, tol = 1e-9) { + const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); + return Math.abs(premium(c, value, u, w) - ri) <= tol; +} diff --git a/samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 new file mode 100644 index 0000000..3a1863e --- /dev/null +++ b/samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 @@ -0,0 +1,5 @@ +import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ +export function under(prefix, scope) { + return prefix !== '' && within(region(scope, './'), region(prefix, './')); +} diff --git a/samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 new file mode 100644 index 0000000..b063dc9 --- /dev/null +++ b/samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 @@ -0,0 +1,134 @@ +import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export const POSET_LAW_NAMES = [ + 'transitivity', + 'antisymmetry', +]; +export const MEET_LAW_NAMES = [ + 'idempotence.meet', + 'unit.top', + 'top.greatest', + 'commutativity.meet', + 'consistency.meet', + 'associativity.meet', +]; +export const JOIN_LAW_NAMES = [ + 'idempotence.join', + 'unit.bottom', + 'bottom.least', + 'commutativity.join', + 'consistency.join', + 'associativity.join', +]; +export const BOTH_LAW_NAMES = [ + 'absorption.meet', + 'absorption.join', +]; +export const LATTICE_LAW_NAMES = [ + ...POSET_LAW_NAMES, + ...MEET_LAW_NAMES, + ...JOIN_LAW_NAMES, + ...BOTH_LAW_NAMES, +]; +const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; +export function posetViolationsIn(L, xs) { + const out = []; + const same = (a, b) => eq(L, a, b); + for (const a of xs) { + for (const b of xs) { + if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { + out.push(sayAt(L, 'antisymmetry', [a, b])); + } + for (const d of xs) { + if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { + out.push(sayAt(L, 'transitivity', [a, b, d])); + } + } + } + } + return out; +} +export function meetViolationsIn(L, xs) { + const out = [...posetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.meet(a, a), a)) + say('idempotence.meet', a); + if (!same(L.meet(a, L.top), a)) + say('unit.top', a); + if (!L.leq(a, L.top)) + say('top.greatest', a); + for (const b of xs) { + if (!same(L.meet(a, b), L.meet(b, a))) + say('commutativity.meet', a, b); + const le = L.leq(a, b); + if (le !== same(L.meet(a, b), a)) + say('consistency.meet', a, b); + for (const d of xs) { + if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { + say('associativity.meet', a, b, d); + } + } + } + } + return out; +} +export function violationsIn(L, xs) { + const out = [...meetViolationsIn(L, xs)]; + const same = (a, b) => eq(L, a, b); + const say = (law, ...at) => { + out.push(sayAt(L, law, at)); + }; + for (const a of xs) { + if (!same(L.join(a, a), a)) + say('idempotence.join', a); + if (!same(L.join(a, L.bottom), a)) + say('unit.bottom', a); + if (!L.leq(L.bottom, a)) + say('bottom.least', a); + for (const b of xs) { + if (!same(L.join(a, b), L.join(b, a))) + say('commutativity.join', a, b); + if (!same(L.meet(a, L.join(a, b)), a)) + say('absorption.meet', a, b); + if (!same(L.join(a, L.meet(a, b)), a)) + say('absorption.join', a, b); + const le = L.leq(a, b); + if (le !== same(L.join(a, b), b)) + say('consistency.join', a, b); + for (const d of xs) { + if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { + say('associativity.join', a, b, d); + } + } + } + } + return out; +} +export function closureViolationsIn(c, xs) { + const out = []; + const say = (law, at) => { + out.push(`${law}: ${at}`); + }; + const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; + for (const a of xs) { + if (!isUpset(c, a.demand)) + say('closure.demand', shown(a)); + if (!isDownset(c, a.permit)) + say('closure.permit', shown(a)); + for (const b of xs) { + const m = idealMeet(a, b); + const j = idealJoin(a, b); + if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { + say('closure.meet', `${shown(a)} , ${shown(b)}`); + } + if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { + say('closure.join', `${shown(a)} , ${shown(b)}`); + } + } + } + return out; +} diff --git a/samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f new file mode 100644 index 0000000..17fe3ad --- /dev/null +++ b/samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f @@ -0,0 +1,11 @@ +import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); +export const ladderOfForm = { + id: 'ladder', + lattice: (params) => ladderForm.lattice(over(params)), + parse: (params, text) => levelsOf('ladder', over(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => ladderForm.lattice(over(params)).show(value), + points: (params, seed, n) => ladderForm.points(over(params), seed, n), +}; diff --git a/samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 new file mode 100644 index 0000000..a5581a6 --- /dev/null +++ b/samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 @@ -0,0 +1,19 @@ +export function foldIn(L, demands) { + let acc = L.top; + for (const d of demands) + acc = L.meet(acc, d); + return acc; +} +export function witnessesIn(L, demands) { + const whole = foldIn(L, demands); + if (L.inhabited(whole)) + return null; + for (let i = 0; i < demands.length; i++) { + for (let j = i + 1; j < demands.length; j++) { + if (!L.inhabited(L.meet(demands[i], demands[j]))) { + return [demands[i], demands[j]]; + } + } + } + return null; +} diff --git a/samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 new file mode 100644 index 0000000..a8eb996 --- /dev/null +++ b/samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 @@ -0,0 +1,12 @@ +import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function touches(c, mine, folded) { + return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); +} +export function holds(c, units, index) { + if (index < 0 || index >= units.length) + return false; + const whole = fuse(c, units); + const rest = units.filter((_, i) => i !== index); + const next = fuse(c, rest); + return next.floor !== whole.floor || next.ceiling !== whole.ceiling; +} diff --git a/samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 new file mode 100644 index 0000000..3074bbe --- /dev/null +++ b/samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 @@ -0,0 +1,80 @@ +export function unpipe(value) { + const out = []; + let at = ''; + for (let i = 0; i < value.length; i++) { + const c = value[i]; + if (c === '\\') { + const next = value[i + 1]; + if (next !== '|' && next !== '\\') + return null; + at += next; + i += 1; + } + else if (c === '|') { + out.push(at); + at = ''; + } + else { + at += c; + } + } + out.push(at); + return out; +} +const OPEN = '*'; +const num = (s) => { + if (!/^-?\d+(\.\d+)?$/.test(s)) + return null; + const n = Number(s); + return isFinite(n) ? n : null; +}; +/** + * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction + * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read + * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. + */ +export function decimal(n) { + if (!isFinite(n)) + throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); + const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); + if (got === null) + return String(n); + const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; + return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; +} +/** + * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these + * implement — never a list kept beside them, which the lock could move and the list could not. + */ +const GRAMMARS = { + interval: (value) => { + const at = value.indexOf('..'); + if (at < 0) + return null; + const lo = value.slice(0, at); + const hi = value.slice(at + 2); + const l = lo === OPEN ? null : num(lo); + const h = hi === OPEN ? null : num(hi); + if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) + return null; + return { kind: 'interval', lo: l, hi: h }; + }, + alphabet: (value) => { + const values = unpipe(value); + return values === null ? null : { kind: 'enumerated', values }; + }, + ladder: (value) => { + const parts = unpipe(value); + if (parts === null || parts.length !== 2) + return null; + return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; + }, +}; +export function boundOf(form, value, grammars) { + const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; + if (extra) + return extra.parse(value); + return GRAMMARS[form]?.(value) ?? null; +} +export const BOUND_FORMS = Object.keys(GRAMMARS); +export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea new file mode 100644 index 0000000..a5f7fb5 --- /dev/null +++ b/samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea @@ -0,0 +1,54 @@ +export function buildGraph(edges) { + const index = new Map(); + const names = []; + const intern = (s) => { + const hit = index.get(s); + if (hit !== undefined) + return hit; + const i = names.length; + names.push(s); + index.set(s, i); + return i; + }; + const pairs = []; + for (const [a, b] of edges) + pairs.push([intern(a), intern(b)]); + const size = names.length; + const counts = new Int32Array(size); + for (const [a] of pairs) + counts[a]++; + const heads = new Int32Array(size + 1); + for (let i = 0; i < size; i++) + heads[i + 1] = heads[i] + counts[i]; + const tails = new Int32Array(pairs.length); + const cursor = heads.slice(); + for (const [a, b] of pairs) + tails[cursor[a]++] = b; + return { + size, + id: (name) => index.get(name) ?? -1, + name: (id) => names[id] ?? '', + heads, + tails, + }; +} +export function reachIds(g, from, scratch) { + const seen = scratch ?? new Uint8Array(g.size); + if (scratch) + seen.fill(0); + if (from < 0 || from >= g.size) + return seen; + const queue = [from]; + seen[from] = 1; + while (queue.length > 0) { + const v = queue.pop(); + for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { + const n = g.tails[i]; + if (!seen[n]) { + seen[n] = 1; + queue.push(n); + } + } + } + return seen; +} diff --git a/samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c new file mode 100644 index 0000000..9883b61 --- /dev/null +++ b/samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c @@ -0,0 +1,50 @@ +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ +export function readerLifetime(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); + if (!contract.length) + return undefined; + if (contract.some(f => f.value !== 'bounded-process@1')) + throw Error('REFUSE·wire unsupported reader lifetime'); + const limit = (name, measure) => { + const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; + const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); + if (!rows.length) + throw Error(`REFUSE·reader ${reader} no declared ${name}`); + const values = rows.map(f => { + const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; + if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) + throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); + return bound.hi; + }); + return Math.min(...values); + }; + return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; +} +/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ +export function readerAllowsEmpty(lines, reader) { + const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); + if (!contract.length) + return false; + if (contract.some(f => f.value !== 'declared-empty@1')) + throw Error('REFUSE·wire unsupported empty-reading contract'); + const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length) + return false; + if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} invalid empty policy`); + return rows.every(f => f.value === 'allow'); +} +/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ +export function assertReaderInputs(lines, reader, count) { + const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); + if (!contract.length) + return; + if (contract.some(f => f.value !== 'declared-presence@1')) + throw Error('REFUSE·wire unsupported reader input presence'); + const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); + if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) + throw Error(`REFUSE·reader ${reader} no valid input presence policy`); + if (count === 0 && rows.some(f => f.value === 'required')) + throw Error(`REFUSE·reader ${reader} required input selection is empty`); +} diff --git a/samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e new file mode 100644 index 0000000..0ea6317 --- /dev/null +++ b/samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e @@ -0,0 +1,19 @@ +import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); +export const alphabetOfForm = { + id: 'alphabet', + lattice: (params) => alphabetForm.lattice(tokensOf(params)), + parse(params, text) { + const { tokens } = tokensOf(params); + const read = alphabet(text); + const stray = read.members.find((one) => !tokens.includes(one)); + if (stray !== undefined) + refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); + return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); + }, + emit: (params, value) => written(value.members(tokensOf(params).tokens)), + show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), + points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), +}; diff --git a/samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 new file mode 100644 index 0000000..b67bd6d --- /dev/null +++ b/samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 @@ -0,0 +1,12 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ +export function recordKind(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + if (!got.value.keys.includes('type')) + return fact('config'); + const type = got.value.fields.type; + return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); +} diff --git a/samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e new file mode 100644 index 0000000..92c4573 --- /dev/null +++ b/samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e @@ -0,0 +1,21 @@ +/** It answers the line, the forms' encodings, the names — how is a fact written? */ +export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; +export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; +export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; +export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; +export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; +export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; +export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; +export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +export const OBJECT_VIEW = 'object'; +export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; +export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; +export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; +export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e new file mode 100644 index 0000000..1b70fd0 --- /dev/null +++ b/samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e @@ -0,0 +1,420 @@ +/** + * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their + * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — + * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the + * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never + * make two claims different claims. + */ +import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; +import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; +export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); +const WITHDRAW = 'withdraw'; +const WIRE = 'wire/'; +const WAS = 'audit/wire/'; +export function isWireClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope.startsWith(WIRE) || scope.startsWith(WAS); +} +function listOf(scope) { + if (scope.startsWith(WAS)) + return scope.slice(WAS.length); + if (scope.startsWith(WIRE)) + return scope.slice(WIRE.length); + return undefined; +} +function epochOf(fields) { + const value = fields['epoch'] ?? ''; + return /^\d+$/.test(value) ? Number(value) : 0; +} +function names(withdraw, line) { + return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); +} +export function wireAt(lines, epoch) { + const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); + const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); + // A writer can revise its own alphabet at a newer epoch. Independent live + // declarations must agree; a tie is disagreement, never an empty alphabet. + const candidates = new Map(); + for (const f of mine) { + if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) + continue; + const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); + const held = candidates.get(key) ?? []; + const newest = held.length ? epochOf(held[0]) : -1; + if (epochOf(f) > newest) + candidates.set(key, [f]); + else if (epochOf(f) === newest) + candidates.set(key, [...held, f]); + } + const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); + const values = new Map(); + for (const f of live) { + const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); + if (prior !== undefined && prior !== f['value']) + throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); + values.set(key, f['value'] ?? ''); + } + const standing = new Map(); + for (const f of mine) { + const key = listOf(f['scope'] ?? '') ?? ''; + if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) + continue; + const held = standing.get(key); + const newer = held === undefined || epochOf(f) > epochOf(held) + || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); + if (newer) + standing.set(key, f); + } + if (!standing.size) + return null; + const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); + const formOf = new Map([...standing] + .filter(([name]) => name.startsWith('form/')) + .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); + const lists = new Map([...standing.keys()] + .filter((name) => !name.includes('/')) + .map((name) => [name, ids(name)])); + return { + epoch, + ...(standing.has('object/types') ? { object: { + activation: epochOf(standing.get('object/types')), + types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), + required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), + allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), + } } : {}), + fields: ids('fields'), + required: ids('required'), + roles: ids('roles'), + forms: ids('forms'), + classes: ids('at-classes'), + digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), + signatures: ids('signature-algorithms'), + formOf, + lists, + }; +} +function admittedDigest(value, wire) { + const colon = value.indexOf(':'); + return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); +} +function isRegion(need) { + if (need.startsWith('/') || /[\s\\]/.test(need)) + return false; + const steps = need.split('/').filter((step) => step !== ''); + return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); +} +const FIELD_FORMS = { + region: (value) => value.split('|').filter(Boolean).every(isRegion), + class: (value, wire) => { + const colon = value.indexOf(':'); + if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) + return false; + const rest = value.slice(colon + 1); + return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); + }, + signature: (value, wire) => { + const got = parseSignature(value); + if (got === null || !wire.signatures.has(got.algorithm)) + return false; + const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); + return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); + }, + count: (value) => /^\d+$/.test(value), +}; +function debit(field, why) { + return refuse(why, field); +} +export function fromLine(text, wire, grammars) { + const line = parseLine(text, { preserveKeys: true }); + if (line.kind !== 'fact') { + return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); + } + const f = line.value.fields; + const keys = line.value.keys; + if (keys.includes('type')) { + if (!wire?.object) + return refuse('typed object grammar is not admitted at this epoch', 'type'); + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); + if (got.kind !== 'fact') + return got; + if (!FIELD_FORMS.signature(f.sig, wire)) + return refuse('object signature grammar is not admitted', 'sig'); + if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) + return refuse('cell topos is not an admitted digest', 'topos'); + if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) + return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); + return got; + } + if (wire) { + if (wire.object) { + if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) + return refuse('typed wire has no closed configuration/object field contract', 'type'); + const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); + if (reserved) + return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); + } + for (const k of Object.keys(f)) + if (!wire.fields.has(k)) + return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); + for (const k of wire.required) + if (f[k] === undefined) + return debit(k, `a claim with no \`${k}\``); + for (const [k, form] of wire.formOf) { + const v = f[k]; + if (v === undefined) + continue; + const ids = wire.lists.get(form); + const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); + if (!reads) + return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); + if (!reads(v, wire)) + return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); + } + if (f.role !== undefined && !wire.roles.has(f.role)) + return abstain(`\`role=${f.role}\` is a role this wire does not name`); + if (!wire.forms.has(f.form ?? '')) + return abstain(`\`form=${f.form}\` is a form this wire does not name`); + } + const listed = Array.isArray(grammars) ? grammars : undefined; + const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); + if (bound === null) { + const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); + return mine + ? debit('value', `\`${f.value}\` is not a ${f.form}`) + : abstain(`\`form=${f.form}\` is a form this reader does not know`); + } + const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; + const extra = {}; + for (const [k, v] of Object.entries(f)) { + if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) + continue; + extra[k] = v; + } + const rel = f.ref; + const to = f.to === undefined ? null : unpipe(f.to); + const reference = rel && to && REF_RELATIONS.includes(rel) + ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } + : null; + return fact({ + scope: f.scope ?? '', + measure: f.measure ?? '', + bound, + role, + by: f.by ?? '', + at: f.at ?? '', + ...(f.unit !== undefined ? { unit: f.unit } : {}), + ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' + ? { multiplicity: f.multiplicity } + : {}), + ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), + ...(reference ? { reference } : {}), + extra, + }); +} +const KEYS = 'keys'; +export function isKeyClaim(fields) { + const scope = fields['scope'] ?? ''; + return scope === KEYS || scope.startsWith(`${KEYS}/`); +} +function depthWindow(value) { + const m = /^(\d+)\.\.(\d+)$/.exec(value); + return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; +} +const EPOCHS = intervals(-Infinity, Infinity); +const QUORUMS = intervals(1, Infinity); +function windowOf(signer) { + return signer.epoch ?? { start: 0, close: null }; +} +export function windowAt(signer, epoch) { + const now = windowOf(signer); + const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); + return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; +} +function inside(signer, epoch) { + const w = windowAt(signer, epoch); + return epoch >= w.start && (w.close === null || epoch <= w.close); +} +function standsUntil(said) { + const claim = (f) => [f['role'], f['form'], f['at']].join(' '); + const withdrawn = new Map(); + for (const f of said) + if (f['value'] === 'withdraw') + withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); + return (f) => withdrawn.get(claim(f))?.hi ?? null; +} +/** + * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed + * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed + * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw + * widens, and never for a line signed before it. A withdrawn line is never counted again. + */ +function coverageOver(said) { + const until = standsUntil(said); + const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) + .filter((span) => span.to === null || span.from < span.to); + return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; +} +function windowsOver(said) { + const until = standsUntil(said); + return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) + .filter((w) => w.to === null || w.from < w.to); +} +export function signersOf(lines, root, verify) { + const quorumLines = lines + .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const quorumAt = (epoch) => { + const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); + return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; + }; + const ids = [...new Set(lines + // Only authority declarations introduce candidates; host transport metadata does not. + .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) + .map((f) => f['scope'] ?? '') + .filter((scope) => scope.startsWith(`${KEYS}/`)) + .map((scope) => scope.slice(KEYS.length + 1)))]; + const closedAt = (signer, closes) => { + const close = closes.get(signer.id); + return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; + }; + const claimsOn = (admitted, id, measure) => lines.filter((f) => { + const admitter = admitted.get(f['by'] ?? ''); + return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined + && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); + }); + const admitUnder = (closes) => { + const admitted = new Map([[root.id, closedAt(root, closes)]]); + for (let grew = true; grew;) { + grew = false; + for (const id of ids) { + if (admitted.has(id)) + continue; + const classLines = claimsOn(admitted, id, 'class'); + const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); + const counted = classLines + .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) + .sort((a, b) => epochOf(a) - epochOf(b)); + const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); + const admitters = []; + let start = null; + for (const f of history) { + const by = f['by'] ?? ''; + if (!admitters.includes(by)) + admitters.push(by); + if (admitters.length >= quorumAt(epochOf(f))) { + start = epochOf(f); + break; + } + } + const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; + if (start === null || !counted.length || !publicKey) + continue; + const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); + const covered = coverageOver(claimsOn(admitted, id, 'coverage')); + admitted.set(id, closedAt({ + id, + keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', + publicKey, + coverage: covered.coverage, + spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, + windows: windowsOver(claimsOn(admitted, id, 'epoch')), + depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, + admittedBy: admitters, + epoch: { start: born ? Math.min(start, 1) : start, close: null }, + }, closes)); + grew = true; + } + } + return admitted; + }; + let closes = new Map(); + for (let round = 0; round <= ids.length + 1; round++) { + const admitted = admitUnder(closes); + const next = new Map(); + for (const id of admitted.keys()) { + const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); + if (standing.length) + next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); + } + const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); + if (!moved) + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; + closes = next; + } + const admitted = admitUnder(closes); + return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; +} +/** + * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the + * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not + * carry is refused. + */ +export function authorityOf(fields, signers, verify, published) { + const by = fields['by'] ?? ''; + if (published !== undefined && !fields['sig'] && by === 'target') { + return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; + } + if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { + return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; + } + if (!fields['sig']) + return { kind: 'grey', why: 'unsigned' }; + const signer = signers.find((s) => s.id === by); + if (!signer) + return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; + if (!verify(fields, signer.publicKey)) + return { kind: 'grey', why: `the signature does not hold for ${by}` }; + const epoch = epochOf(fields); + const window = windowAt(signer, epoch); + if (window.close !== null && epoch > window.close) { + return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; + } + if (epoch < window.start) + return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; + const scope = fields['scope'] ?? ''; + const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); + if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { + return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; + } + const depth = resolution(region(scope)); + if (depth < signer.depth.lo || depth > signer.depth.hi) { + return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; + } + if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { + return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; + } + return { kind: 'admitted', signer: by }; +} +const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; +const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; +const OUTRANKS = ['foreign', 'derived', 'observed']; +/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ +const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); +export function roleClaimsOf(lines) { + return lines.flatMap((f) => { + const scope = f['scope'] ?? ''; + const role = f['value'] ?? ''; + const regioned = REGIONED.get(f['role'] ?? ''); + if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') + return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); + const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); + if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) + return []; + return [{ name: scope.slice(prefix.length), role: role }]; + }); +} +export function namesAt(at, name) { + return passes(region(at), name); +} +export function roleAt(at, claims) { + const place = { at: region(at).at, epoch: 0, seen: [] }; + return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; +} diff --git a/samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab new file mode 100644 index 0000000..e82665b --- /dev/null +++ b/samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab @@ -0,0 +1,16 @@ +import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; +export function frontier(c, value, asked) { + return asked.filter((one) => origins(one.at) === 0).map((one) => { + const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; + return { + at: one.at.at.join('/'), + resolution: resolution(one.at), + premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), + dependents: one.dependents.length, + closer: cheapest?.by ?? null, + cost: cheapest?.cost ?? null, + }; + }); +} diff --git a/samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 new file mode 100644 index 0000000..e3923f4 --- /dev/null +++ b/samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 @@ -0,0 +1,149 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +function build(levels, join, meet) { + const n = levels.length; + for (let i = 0; i < n; i++) { + if (levels.indexOf(levels[i]) !== i) { + throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { + level: levels[i], + }); + } + } + const index = new Map(levels.map((l, i) => [l, i])); + const leq = (a, b) => join[a][b] === b; + const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); + let simple = true; + for (let x = 0; x < n && simple; x++) { + for (let y = 0; y < n && simple; y++) { + for (let z = 0; z < n; z++) { + if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { + simple = false; + break; + } + } + } + } + const all = [...levels.keys()]; + const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; + const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; + const joinIrr = all.filter((j) => j !== bottomIx && + all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); + const meetIrr = all.filter((m) => m !== topIx && + all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); + const seen = new Set(); + const allDebits = []; + for (const x of [...joinIrr, ...meetIrr]) { + if (!seen.has(x)) { + seen.add(x); + allDebits.push(x); + } + } + return { + levels, + isLadder: total, + isSimple: simple, + bottomIx, + topIx, + bottom: levels[bottomIx], + top: levels[topIx], + leq, + higher: (a, b) => join[a][b], + lower: (a, b) => meet[a][b], + rank(level) { + const r = index.get(level); + if (r === undefined) { + throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { + level, + levels, + }); + } + return r; + }, + stateOf(floor, ceiling) { + if (!leq(floor, ceiling)) + return 'CONFLICT'; + if (floor !== bottomIx) + return 'REQUIRED'; + if (ceiling !== topIx) + return 'FORBIDDEN'; + return 'FREE'; + }, + joins: () => joinIrr.slice(), + limits: () => meetIrr.slice(), + debits: () => allDebits.slice(), + intervalHeight(lo, hi) { + if (!leq(lo, hi)) + return null; + const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); + const covers = (x) => inside.filter((y) => y !== x && + leq(x, y) && + !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); + const long = new Map([[lo, 0]]); + const short = new Map([[lo, 0]]); + const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); + for (const x of walk) { + const lx = long.get(x); + const sx = short.get(x); + if (lx === undefined || sx === undefined) + continue; + for (const y of covers(x)) { + long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); + short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); + } + } + const l = long.get(hi); + return l !== undefined && l === short.get(hi) ? l : null; + }, + }; +} +export function chain(levels) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); + } + const n = levels.length; + const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); + return build(levels, grid(Math.max), grid(Math.min)); +} +export function height(c, level) { + const r = level; + const depth = (x) => { + let d = 0; + for (let y = 0; y < c.levels.length; y++) + if (y !== x && c.leq(y, x)) + d++; + return d; + }; + let h = 0; + for (let x = 0; x < c.levels.length; x++) + if (x !== r && c.leq(x, r)) + h = Math.max(h, depth(x) + 1); + return h; +} +export function isDistributive(c) { + const n = c.levels.length; + for (let x = 0; x < n; x++) + for (let y = 0; y < n; y++) + for (let z = 0; z < n; z++) { + const left = c.higher(x, c.lower(y, z)); + const right = c.lower(c.higher(x, y), c.higher(x, z)); + if (left !== right) + return false; + } + return true; +} +export function order(levels, leq) { + if (!Array.isArray(levels) || levels.length === 0) { + throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); + } + const n = levels.length; + const bound = (a, b, up) => { + const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); + const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); + if (least.length !== 1) { + throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + + `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); + } + return least[0]; + }; + const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); + return build(levels, grid(true), grid(false)); +} diff --git a/samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 new file mode 100644 index 0000000..a44824f --- /dev/null +++ b/samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 @@ -0,0 +1,16 @@ +import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function yieldOf(c, acts) { + const by = new Map(); + for (const act of acts) { + const moved = freedom(c, act.before) - freedom(c, act.after); + const key = `${act.by} ${act.epoch}`; + const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; + by.set(key, { + ...held, + closed: held.closed + Math.max(moved, 0), + reopened: held.reopened + Math.max(-moved, 0), + acts: held.acts + 1, + }); + } + return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); +} diff --git a/samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 new file mode 100644 index 0000000..5e69491 --- /dev/null +++ b/samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 @@ -0,0 +1,63 @@ +import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; +export function statesPerDebit(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return c.joins().map((j) => { + const demanded = c.leq(j, f); + const permitted = c.leq(j, cl); + return [ + c.levels[j], + demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', + ]; + }); +} +export function anyOf(c, units) { + const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; + const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); + const levels = [...c.levels.keys()]; + let live = units.filter((u) => { + const [f, cl] = rank(u); + return c.leq(f, cl); + }); + for (let changed = true; changed;) { + changed = false; + outer: for (let i = 0; i < live.length; i++) { + for (let j = i + 1; j < live.length; j++) { + const [af, ac] = rank(live[i]); + const [bf, bc] = rank(live[j]); + const lo = c.lower(af, bf); + const hi = c.higher(ac, bc); + const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); + if (gains) + continue; + live = [ + ...live.filter((_, k) => k !== i && k !== j), + { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, + ]; + changed = true; + break outer; + } + } + } + return live.sort((x, y) => { + const [xf, xc] = rank(x); + const [yf, yc] = rank(y); + return xf - yf || xc - yc; + }); +} +export function missing(c, have, want) { + const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; + const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; + const all = [...c.levels.keys()]; + const weakestOf = (works) => { + const ok = all.filter(works); + return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); + }; + return { + raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), + raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), + }; +} +export function complexity(c, u) { + return unitComplexity(c, u); +} diff --git a/samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 new file mode 100644 index 0000000..0e97fae --- /dev/null +++ b/samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 @@ -0,0 +1,2 @@ +export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 new file mode 100644 index 0000000..993dcc8 --- /dev/null +++ b/samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 @@ -0,0 +1,36 @@ +import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; +/** Historical configuration adapters. Typed records use their selected form provider. */ +export const INTERVALS = intervals(-Infinity, Infinity); +export const ALPHABETS = alphabets(); +const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; +/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ +export function spanOf(value) { + const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); + if (!m) + return null; + const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); + return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; +} +/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ +export function idsOf(value) { + const forbid = value.startsWith('not:'); + return { + polarity: forbid ? 'forbid' : 'permit', + values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), + }; +} +/** Values of the historical configuration forms; no typed object projection or object valuation. */ +export function configurationValues(values) { + if (!values.length) + return undefined; + if (values[0].form === 'interval') { + const read = values.map(one => spanOf(one.value)); + return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; + } + if (values[0].form !== 'alphabet') + return undefined; + const rest = '\u0000'; + const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); + const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; + return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; +} diff --git a/samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a new file mode 100644 index 0000000..7d49c4c --- /dev/null +++ b/samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a @@ -0,0 +1,39 @@ +function matchStar(pat, seg) { + if (!pat.includes('*')) + return pat === seg; + const bits = pat.split('*'); + if (!seg.startsWith(bits[0])) + return false; + let i = bits[0].length; + for (let b = 1; b < bits.length; b++) { + const bit = bits[b]; + if (bit === '') + return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); + const hit = seg.indexOf(bit, i); + if (hit < 0) + return false; + i = hit + bit.length; + } + return i === seg.length || pat.endsWith('*'); +} +function matchParts(g, gi, p, pi) { + if (gi === g.length) + return pi === p.length; + if (g[gi] === '**') { + if (gi + 1 === g.length) + return true; + for (let k = pi; k <= p.length; k++) { + if (matchParts(g, gi + 1, p, k)) + return true; + } + return false; + } + if (pi === p.length) + return false; + if (!matchStar(g[gi], p[pi])) + return false; + return matchParts(g, gi + 1, p, pi + 1); +} +export function matches(glob, place) { + return matchParts(glob.split('/'), 0, place.split('/'), 0); +} diff --git a/samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e new file mode 100644 index 0000000..7294d1c --- /dev/null +++ b/samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e @@ -0,0 +1,198 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; +import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +export function intervals(lo, hi) { + const low = Math.min(lo, hi); + const high = Math.max(lo, hi); + return { + bottom: { lo: high, hi: low }, + top: { lo: low, hi: high }, + leq(a, b) { + if (a.lo > a.hi) + return true; + if (b.lo > b.hi) + return false; + return b.lo <= a.lo && a.hi <= b.hi; + }, + meet(a, b) { + return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; + }, + join(a, b) { + if (a.lo > a.hi) + return b; + if (b.lo > b.hi) + return a; + return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; + }, + show(x) { + return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; + }, + inhabited(x) { + return x.lo <= x.hi; + }, + }; +} +export function alphabets() { + const within = (x, y) => [...x].every((v) => y.has(v)); + return { + leq(a, b) { + if (a.polarity === 'permit' && b.polarity === 'permit') + return within(a.values, b.values); + if (a.polarity === 'forbid' && b.polarity === 'forbid') + return within(b.values, a.values); + if (a.polarity === 'permit') + return [...a.values].every((v) => !b.values.has(v)); + return false; + }, + show(x) { + return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; + }, + }; +} +function form(f) { + const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; + const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); + if (lacking) + throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); + return f; +} +const rec = (x) => x !== null && typeof x === 'object' ? x : {}; +function strings(x) { + return Array.isArray(x) ? x.map(String) : []; +} +const drawn = (seed) => { + let s = seed >>> 0; + return () => { + s = (s + 0x6d2b79f5) >>> 0; + let t = Math.imul(s ^ (s >>> 15), s | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; +}; +const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; +function bandCount(levels, folded) { + if (levels.length === 0) + return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; + const c = chain(levels); + const f = c.rank(folded.floor); + const cl = c.rank(folded.ceiling); + if (!c.leq(f, cl)) + return { kind: 'finite', n: 0 }; + const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; + return { kind: 'finite', n }; +} +const BAND = { + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + subject: String(d.subject ?? ''), + floor: String(d.floor ?? L.top.floor), + ceiling: String(d.ceiling ?? L.top.ceiling), + }; + }, + emit(_params, value) { + return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; + }, + count(folded, params) { + return bandCount(strings(rec(params).levels), folded); + }, + points(params, seed, n) { + const L = this.lattice(params); + const levels = strings(rec(params).levels); + const draw = drawn(seed); + const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); + return Array.from({ length: n }, () => { + const [a, b] = [picked(draw, levels), picked(draw, levels)]; + return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); + }); + }, +}; +export const ladderForm = form({ + id: 'ladder', + lattice(params) { + const levels = strings(rec(params).levels); + if (levels.length === 0) + throw new Error('ladder needs levels'); + return fromScale(chain(levels)); + }, + ...BAND, + show(value) { + return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; + }, +}); +export const alphabetForm = form({ + id: 'alphabet', + lattice(params) { + return subsets(strings(rec(params).tokens)); + }, + parse(params, demand) { + const tokens = strings(rec(params).tokens); + const d = rec(demand); + const want = d.want !== undefined ? strings(d.want) : tokens; + return WideMask.fromTokens(tokens, new Set(want)); + }, + emit(params, value) { + return { want: value.members(strings(rec(params).tokens)) }; + }, + count(folded) { + return { kind: 'finite', n: folded.size() }; + }, + show(value) { + return `${value.size()}`; + }, + points(params, seed, n) { + const tokens = strings(rec(params).tokens); + const draw = drawn(seed); + return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); + }, +}); +export const continuousForm = form({ + id: 'continuous', + lattice(params) { + const p = rec(params); + return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); + }, + parse(params, demand) { + const L = this.lattice(params); + const d = rec(demand); + return { + lo: d.lo === undefined ? L.top.lo : Number(d.lo), + hi: d.hi === undefined ? L.top.hi : Number(d.hi), + }; + }, + emit(_params, value) { + return { lo: value.lo, hi: value.hi }; + }, + count() { + return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; + }, + show(value) { + return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; + }, + points(params, seed, n) { + const p = rec(params); + const lo = Number(p.lo ?? 0); + const hi = Number(p.hi ?? 1); + const draw = drawn(seed); + const at = () => lo + Math.round(draw() * (hi - lo)); + return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); + }, +}); +export const latticeForm = form({ + id: 'lattice', + lattice(params) { + const p = rec(params); + const levels = strings(p.levels); + const leq = p.leq; + if (levels.length && leq) + return fromScale(order(levels, leq)); + throw new Error('lattice needs levels+leq'); + }, + ...BAND, + show(value) { + return `${value.floor}..${value.ceiling}`; + }, +}); +export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; +export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 new file mode 100644 index 0000000..567015e --- /dev/null +++ b/samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 @@ -0,0 +1,60 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; +export function quadrants(demanded, permitted, extent) { + const d = demanded.and(extent); + const p = permitted.and(extent); + return { + REQUIRED: d.and(p), + FREE: p.difference(d), + FORBIDDEN: extent.difference(p).difference(d), + CONFLICT: d.difference(p), + }; +} +export function stateAt(q, bit) { + for (const s of STATES) + if (q[s].has(bit)) + return s; + return null; +} +const overlaps = (a, x) => x >= a.lo && x <= a.hi; +export function runQuadrants(demanded, permitted, extent) { + if (extent.hi < extent.lo) + return []; + const cuts = new Set([extent.lo]); + const add = (s) => { + if (s.lo > extent.lo && s.lo <= extent.hi) + cuts.add(s.lo); + if (s.hi >= extent.lo && s.hi < extent.hi) + cuts.add(s.hi + 1); + }; + for (const s of demanded) + add(s); + if (permitted) + add(permitted); + const at = (x) => { + const d = demanded.some((s) => overlaps(s, x)); + const p = permitted !== null && overlaps(permitted, x); + if (d && p) + return 'REQUIRED'; + if (d) + return 'CONFLICT'; + return p ? 'FREE' : 'FORBIDDEN'; + }; + const points = [...cuts].sort((a, b) => a - b); + const out = []; + for (let i = 0; i < points.length; i++) { + const lo = points[i]; + const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; + if (hi < lo) + continue; + const state = at(lo); + const last = out[out.length - 1]; + if (last && last.state === state && last.hi + 1 === lo) { + out[out.length - 1] = { lo: last.lo, hi, state }; + continue; + } + out.push({ lo, hi, state }); + } + return out; +} +export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 new file mode 100644 index 0000000..415c0df --- /dev/null +++ b/samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 @@ -0,0 +1,80 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +const namesOf = (c) => c.levels; +const sorted = (names) => [...new Set(names)].sort(); +const has = (xs, name) => xs.includes(name); +export function upset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); +} +export function downset(c, names) { + return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); +} +export function isUpset(c, names) { + const closed = upset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isDownset(c, names) { + const closed = downset(c, names); + return names.length === closed.length && names.every((n) => has(closed, n)); +} +export function isIdealPair(c, d) { + return isUpset(c, d.demand) && isDownset(c, d.permit); +} +export function idealDebit(c, demand, permit) { + const pair = { demand: sorted(demand), permit: sorted(permit) }; + if (!isIdealPair(c, pair)) { + throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { + demand: pair.demand, + permit: pair.permit, + }); + } + return pair; +} +export function idealMeet(a, b) { + return { + demand: sorted(a.demand.filter((n) => has(b.demand, n))), + permit: sorted([...a.permit, ...b.permit]), + }; +} +export function idealJoin(a, b) { + return { + demand: sorted([...a.demand, ...b.demand]), + permit: sorted(a.permit.filter((n) => has(b.permit, n))), + }; +} +function idealInhabited(d) { + return d.demand.some((n) => has(d.permit, n)); +} +export function idealEntails(a, b) { + return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); +} +export function idealComplexity(c, d) { + const omega = namesOf(c); + return omega.filter((n) => !has(d.demand, n)).length + + omega.filter((n) => !has(d.permit, n)).length; +} +export function unitToIdeal(c, u) { + return { + demand: upset(c, [u.floor]), + permit: downset(c, [u.ceiling]), + }; +} +export function freedom(c, u) { + const d = unitToIdeal(c, u); + const between = d.demand.filter((n) => has(d.permit, n)).length; + return between > 1 ? Math.log2(between) : 0; +} +export function unitComplexity(c, u) { + return idealComplexity(c, unitToIdeal(c, u)); +} +export function fromIdeals(c) { + const omega = namesOf(c); + return { + bottom: { demand: [], permit: [] }, + top: { demand: [...omega], permit: [...omega] }, + leq: (a, b) => idealEntails(a, b), + meet: (a, b) => idealMeet(a, b), + join: (a, b) => idealJoin(a, b), + show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, + inhabited: (x) => idealInhabited(x), + }; +} diff --git a/samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 new file mode 100644 index 0000000..55ffdd6 --- /dev/null +++ b/samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); +export const phaseForm = { + id: 'phase', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('phase', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c new file mode 100644 index 0000000..8c847a2 --- /dev/null +++ b/samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c @@ -0,0 +1,56 @@ +import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; +const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); +/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ +function compareDecimal(left, right) { + const rational = (text) => { + const [integer = '', fraction = ''] = text.split('.'); + return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; + }; + const a = rational(left); + const b = rational(right); + const difference = a.numerator * b.scale - b.numerator * a.scale; + return difference < 0n ? -1 : difference > 0n ? 1 : 0; +} +/** + * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality + * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes + * for every declaration. Neither the powerset nor its order matrix needs to be materialized. + * + * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire + * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. + */ +export function declaredConfig(line) { + const got = parse(line); + if (got.kind !== 'fact') + return unknown('invalid', got.why); + const { form, value, type } = got.value.fields; + if (type !== undefined) + return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); + if (form === undefined || value === undefined) + return unknown('invalid', 'a declaration must name its form and value'); + if (value === 'withdraw') + return unknown('inactive', 'a withdrawal declares no current freedom'); + if (form === 'alphabet') { + let tokens; + try { + tokens = alphabet(value); + } + catch (error) { + return unknown('invalid', error instanceof Error ? error.message : String(error)); + } + if (tokens.polarity === 'forbid') + return unknown('complement', 'the complement names exclusions but declares no universe to count'); + return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; + } + if (form === 'interval') { + const [lo = '', hi = ''] = value.split('..'); + if (lo === '*' || hi === '*') + return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); + // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. + const comparison = compareDecimal(lo, hi); + if (comparison >= 0) + return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; + return unknown('continuous', 'the interval declares no discrete step or state count', false); + } + return unknown('unsupported', `freedom is not defined here for form ${form}`); +} diff --git a/samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 new file mode 100644 index 0000000..15678dd --- /dev/null +++ b/samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 @@ -0,0 +1,79 @@ +export function coordinate(name, steps = '/') { + const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); + while (at[at.length - 1] === '*' || at[at.length - 1] === '**') + at.pop(); + return at; +} +export function point(name, epoch = 0, seen = [], steps = '/') { + return { at: coordinate(name, steps), epoch, seen }; +} +export function region(name, steps = '/') { + return { at: coordinate(name, steps) }; +} +export function coarsen(place, steps) { + return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; +} +export function passes(place, step) { + return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); +} +export function resolution(place) { + return place.at.length; +} +export function within(inner, outer) { + const refines = (i, j) => j === outer.at.length + || (outer.at[j] === '**' + ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) + : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); + return refines(0, 0); +} +export function exclusive(mine, others) { + return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); +} +export function contracts(regions, touched) { + return !regions.some((one) => touched.some((p) => within(p, one))); +} +export function key(regions) { + return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); +} +const inside = (one, of) => one >= of.lo && one <= of.hi; +export function foldRegion(places, where, f) { + const gathered = new Map(); + for (const place of places) { + if (!within(place, where)) + continue; + const at = place.at.join('/'); + gathered.set(at, [...(gathered.get(at) ?? []), place]); + } + return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); +} +export function covers(met, of) { + return met.every((place) => of.where.some((one) => within(place, one)) + && inside(resolution(place), of.steps) + && inside(place.epoch, of.when)); +} +export function outranks(met, named, order) { + const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); + return order.find((kind) => matched.includes(kind)) ?? null; +} +export function answers(met, where) { + return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); +} +export function verified(met, green) { + return met.some((place) => green(place)); +} +export function retracted(met, by) { + return met.filter((place) => by.some((one) => within(place, one))); +} +export function size(at, steps) { + return new Set(at.map((name) => { + const place = point(name); + return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); + })).size; +} +export function sufficientResolution(finest, verdict, same = Object.is) { + const whole = verdict(finest); + for (let steps = 1; steps < finest; steps += 1) + if (same(verdict(steps), whole)) + return steps; + return finest; +} diff --git a/samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d new file mode 100644 index 0000000..35b39af --- /dev/null +++ b/samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d @@ -0,0 +1,19 @@ +import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; +export function foldSigned(L, values) { + const classes = []; + for (let i = 0; i < values.length; i++) { + const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); + if (home) + home.push(i); + else + classes.push([i]); + } + const standing = []; + for (let c = 0; c < classes.length; c++) { + const mine = values[classes[c][0]]; + const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); + if (!beaten) + standing.push(c); + } + return { classes, standing, fork: standing.length > 1 }; +} diff --git a/samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c new file mode 100644 index 0000000..46d8612 --- /dev/null +++ b/samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c @@ -0,0 +1,30 @@ +function stream(seed) { + let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; + return () => { + s = (Math.imul(s, 1664525) + 1013904223) >>> 0; + return s; + }; +} +export function unitStream(seed) { + const next = stream(seed); + return () => next() / 4294967296; +} +export function permute(xs, salt) { + const next = stream(salt); + const out = xs.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = next() % (i + 1); + const t = out[i]; + out[i] = out[j]; + out[j] = t; + } + return out; +} +export function permutationBlind(values, claim, draws = 8) { + const want = JSON.stringify(claim(values)); + for (let d = 0; d < draws; d++) { + if (JSON.stringify(claim(permute(values, d + 1))) !== want) + return false; + } + return true; +} diff --git a/samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 new file mode 100644 index 0000000..b539f95 --- /dev/null +++ b/samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 @@ -0,0 +1,74 @@ +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +export function coordinateText(value) { + return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); +} +export function restCoordinates(text) { + try { + const read = alphabet(text); + if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) + return undefined; + const sorted = [...new Set(read.members)].sort(byBytes); + if (alphabet({ polarity: 'permit', members: sorted }) !== text) + return undefined; + return sorted; + } + catch { + return undefined; + } +} +const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; +/** Typed records retain encoded values; only the selected codec interprets them. */ +export function objectFromFields(fields, keys, schema, globalFields, forms) { + const bad = (why, key) => refuse(why, key); + if (keys.includes('at')) + return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); + const type = fields.type; + if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) + return bad('an object record names a declared type: cell, claim or mark', 'type'); + if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) + return bad('an object record carries an exactly supported logical epoch', 'epoch'); + if (Number(fields.epoch) < schema.activation) + return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); + let row; + if (type === 'cell') + row = 'cell'; + else if (fields.sign === '-1') + row = `${type}/negative`; + else if (fields.sign !== '+1') + return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); + else if (type === 'claim') + row = 'claim/positive'; + else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/floor-travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) + row = 'mark/travelling'; + else if (fields.pole === 'ceiling' && fields.reach === 'local') + row = 'mark/local'; + else + return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); + const required = schema.required.get(row); + const allowed = schema.allowed.get(row); + if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) + return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); + // These are intrinsic envelope identities, not a copy of each row's field alphabet. + for (const key of COMMON) + if (fields[key] === undefined || fields[key] === '') + return bad(`an object record has no ${key}`, key); + for (const key of keys) + if (!globalFields.has(key) || !allowed.has(key)) + return bad(`\`${key}=\` is not allowed on ${row}`, key); + for (const key of required) + if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') + return bad(`a ${row} record has no declared required \`${key}\``, key); + if (!coordinateText(fields.scope)) + return bad('scope is a canonical cell coordinate', 'scope'); + if (type === 'cell') { + if (!forms.has(fields.form)) + return bad('the cell names no admitted form', 'form'); + if (restCoordinates(fields.restsOn) === undefined) + return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); + } + return fact({ record: type, fields: { ...fields } }); +} diff --git a/samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c new file mode 100644 index 0000000..e0d477d --- /dev/null +++ b/samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c @@ -0,0 +1,128 @@ +import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const PROTOCOL = 'bound-lock/1'; +const NEEDS_QUOTE = /[ ="\n\\]/; +function escape(value) { + if (!NEEDS_QUOTE.test(value)) + return value; + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; +} +function unescape(token) { + if (!token.startsWith('"')) + return NEEDS_QUOTE.test(token) ? null : token; + if (token.length < 2 || !token.endsWith('"')) + return null; + const body = token.slice(1, -1); + let out = ''; + for (let i = 0; i < body.length; i++) { + const c = body[i]; + if (c !== '\\') { + if (c === '"') + return null; + out += c; + continue; + } + const next = body[i + 1]; + if (next === '"') + out += '"'; + else if (next === '\\') + out += '\\'; + else if (next === 'n') + out += '\n'; + else + return null; + i += 1; + } + return out; +} +const UTF8 = new TextEncoder(); +export function byBytes(a, b) { + const x = UTF8.encode(a); + const y = UTF8.encode(b); + for (let i = 0; i < x.length && i < y.length; i++) { + if (x[i] !== y[i]) + return x[i] - y[i]; + } + return x.length - y.length; +} +/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ +const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; +export function canonical(fields, version = '1') { + if (unwritten(fields)) + throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); + const keys = Object.keys(fields).sort(byBytes); + const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); + return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); +} +export function signedBytes(fields, version = '1') { + const { sig: _sig, ...rest } = fields; + return canonical(rest, version); +} +const ABSENT = '-'; +export function parse(text, options = {}) { + if (text.includes('\n')) { + return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); + } + const space = text.indexOf(' '); + const envelope = space === -1 ? text : text.slice(0, space); + const [name, version] = envelope.split('/'); + if (name !== PROTOCOL.split('/')[0] || !version) { + return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); + } + if (version !== PROTOCOL.split('/')[1]) { + return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); + } + const fields = {}; + const writtenKeys = new Set(); + for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { + if (token === null) + return refuse('a quoted value is not closed'); + const at = token.indexOf('='); + if (at <= 0) + return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); + const key = token.slice(0, at); + if (writtenKeys.has(key)) + return refuse(`\`${key}\` appears twice — one line, one value per key`); + writtenKeys.add(key); + const value = unescape(token.slice(at + 1)); + if (value === null) + return refuse(`\`${key}\` has an escaping this format does not define`); + if (value !== ABSENT) + fields[key] = value; + } + if (unwritten(fields)) + return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); + return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); +} +function* tokensOf(rest) { + let at = 0; + while (at < rest.length) { + while (rest[at] === ' ') + at += 1; + if (at >= rest.length) + return; + let end = at; + let quoted = false; + while (end < rest.length && (quoted || rest[end] !== ' ')) { + if (rest[end] === '\\' && quoted) + end += 1; + else if (rest[end] === '"') + quoted = !quoted; + end += 1; + } + if (quoted) { + yield null; + return; + } + yield rest.slice(at, end); + at = end; + } +} +/** Signing cannot silently discard a key that was explicitly written as absent. */ +export function parseForSigning(text) { + const got = parse(text, { preserveKeys: true }); + if (got.kind !== 'fact') + return got; + const absent = got.value.keys.find(key => got.value.fields[key] === undefined); + return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); +} diff --git a/samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 new file mode 100644 index 0000000..c90d341 --- /dev/null +++ b/samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 @@ -0,0 +1,31 @@ +import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; +import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; +/** Historical grammar is selected by each record's epoch, before context admission. */ +export function objectHistory(lines) { + const parsed = []; + for (const text of lines) { + const p = parse(text); + if (p.kind !== 'fact') + return p; + parsed.push(p.value.fields); + } + const objects = [], configuration = []; + for (let i = 0; i < lines.length; i++) { + const k = recordKind(lines[i]); + if (k.kind !== 'fact') + return k; + if (k.value === 'config') { + configuration.push(parsed[i]); + continue; + } + const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); + if (got.kind !== 'fact') + return got; + if (!('record' in got.value)) + throw Error('typed history returned configuration'); + objects.push(got.value); + } + return fact({ objects, configuration }); +} diff --git a/samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d new file mode 100644 index 0000000..cc0de4b --- /dev/null +++ b/samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); +export const intervalForm = { + id: 'interval', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('interval', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 new file mode 100644 index 0000000..6d4170d --- /dev/null +++ b/samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 @@ -0,0 +1,36 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ +function product(params) { + const buckets = wordsAt('distribution', params, 'buckets'); + const levels = wordsAt('distribution', params, 'levels'); + const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); + return { buckets, levels, tuples }; +} +const orderOver = (params) => { + const { levels, tuples } = product(params); + const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); + return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; +}; +export const distributionForm = { + id: 'distribution', + lattice: (params) => latticeForm.lattice(orderOver(params)), + parse(params, text) { + const { buckets, levels } = product(params); + const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); + const members = alphabet(text).members; + const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); + const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); + if (stray !== undefined) + refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); + const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); + return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; + }, + emit(params, value) { + const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; + return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); + }, + show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), +}; diff --git a/samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 new file mode 100644 index 0000000..3aa56c0 --- /dev/null +++ b/samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 @@ -0,0 +1,63 @@ +import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; +import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +/** Proposed transport vector, not an admitted object/configuration record. */ +export function requestBytes(lot) { + if (!lot.bytes.length) + throw new Error('REFUSE·signer empty lot'); + for (const bytes of lot.bytes) { + const got = parse(bytes); + if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined + || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { + throw new Error('REFUSE·signer noncanonical payload'); + } + } + return lot.bytes.join('\n') + '\n'; +} +export function responseBytes(records) { + return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; +} +/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ +export function responseOf(text, lot) { + if (!text.endsWith('\n')) + throw new Error('REFUSE·signer truncated response'); + const rows = text.slice(0, -1).split('\n'); + if (rows.length !== lot.bytes.length) + throw new Error('REFUSE·signer response count'); + return rows.map(row => { + const got = parse(row); + if (got.kind !== 'fact') + throw new Error('REFUSE·signer response grammar'); + const fields = got.value.fields; + const signature = parseSignature(fields['sig'] ?? ''); + if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature + || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { + throw new Error('REFUSE·signer response identity or signature form'); + } + return { keyId: fields['by'], signature: fields['sig'] }; + }); +} +/** Caller supplies live admitted configuration; host resolves the logical name separately. */ +export function signerSelection(lines, keyId) { + const value = (scope, measure) => { + const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw'); + const values = [...new Set(rows.map(f => f['value']))]; + if (values.length !== 1 || !values[0]) + throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); + return values[0]; + }; + const exact = (scope, measure) => { + if (lines.some(f => f['scope'] === scope && f['measure'] === measure + && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + const bound = boundOf('interval', value(scope, measure)); + if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { + throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); + } + return bound.lo; + }; + return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), + responseBytes: exact('signer/response-bytes', 'bytes') }; +} diff --git a/samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 new file mode 100644 index 0000000..7c95c11 --- /dev/null +++ b/samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 @@ -0,0 +1,48 @@ +import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; +const refuse = (grammar, why) => { + throw new Error(`REFUSE·wire ${grammar}: ${why}`); +}; +const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); +export function alphabet(given) { + if (typeof given !== 'string') { + const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); + if (given.polarity === 'forbid') + return FORBID + written; + return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; + } + const forbid = given.startsWith(FORBID); + const body = forbid ? given.slice(FORBID.length) : given; + const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); + return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; +} +export function fields(given) { + if (typeof given !== 'string') + return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); + const read = alphabet(given); + if (read.polarity === 'forbid') + refuse('fields', 'fields carry no polarity'); + return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); +} +export function steps(given) { + if (typeof given === 'string') + return given.split(STEP); + return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); +} +export function atResolution(given) { + if (typeof given !== 'string') + return given.at === undefined ? given.name : given.name + AT + String(given.at); + const at = given.lastIndexOf(AT); + if (at < 0) + return { name: given }; + const [name, said] = [given.slice(0, at), given.slice(at + 1)]; + if (name === '' || (said !== EVERY && !digits(said))) + refuse('atResolution', `\`${given}\` is not name@digits or name@*`); + return { name, at: said === EVERY ? EVERY : Number(said) }; +} +export function requirement(given) { + if (typeof given !== 'string') + return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; + const at = given.lastIndexOf(AT); + return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); +} diff --git a/samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 new file mode 100644 index 0000000..e59f405 --- /dev/null +++ b/samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 @@ -0,0 +1,8 @@ +import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; +import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export const METHODS = ['declared', 'statistics', 'sample', 'exact']; +export function weakest(methods) { + const c = chain(METHODS); + const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); + return units.length === 0 ? 'exact' : compose(c, units).ceiling; +} diff --git a/samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 new file mode 100644 index 0000000..1d616b5 --- /dev/null +++ b/samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 @@ -0,0 +1,12 @@ +export function declaration(c, u) { + return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; +} +export function asUnit(c, d, subject = '') { + return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; +} +export function conj(c, a, b) { + return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; +} +export function disj(c, a, b) { + return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; +} diff --git a/samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d new file mode 100644 index 0000000..4e8ef49 --- /dev/null +++ b/samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d @@ -0,0 +1,58 @@ +import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function cell(at, epoch = 0, seen = [], restsOn = []) { + return { at: coordinate(at), epoch, seen, restsOn }; +} +export function mark(one) { + if (one.widens !== undefined && one.reach === 'travels') { + throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); + } + return one.takes === undefined ? one : { ...one, sign: -1 }; +} +export function live(lines) { + const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); + return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); +} +export function restOf(c, world = new Map()) { + const own = c.at.join('/'); + const out = []; + const held = new Set(); + const edge = [...c.restsOn]; + for (let i = 0; i < edge.length; i += 1) { + const name = edge[i]; + if (name === own) + throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); + if (held.has(name)) + continue; + held.add(name); + out.push(name); + edge.push(...(world.get(name)?.restsOn ?? [])); + } + return out; +} +export function parts(L, c, world = new Map()) { + const rest = restOf(c, world); + const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); + const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); + let required = L.top; + let signed = L.top; + for (const one of marks) { + if (one.pole === 'floor') + required = L.meet(required, one.span); + else + signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); + } + const origins = live(c.seen); + const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); + return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; +} +export function state(L, c, world = new Map()) { + const { floor, ceiling, origins, required, signed } = parts(L, c, world); + if (!L.inhabited(L.meet(required, signed))) + return 'CONFLICT'; + if (new Set(origins.map((claim) => claim.origin)).size < 2) + return 'REQUIRED'; + if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) + return 'CONFLICT'; + return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; +} diff --git a/samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf new file mode 100644 index 0000000..2f061b6 --- /dev/null +++ b/samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf @@ -0,0 +1,13 @@ +import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; +import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; +import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; +import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; +import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; +import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; +import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; +import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; +import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; +export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; +export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; +export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 new file mode 100644 index 0000000..befef89 --- /dev/null +++ b/samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 @@ -0,0 +1,18 @@ +import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; +export function present(place) { + if (potential(place)) + return 'potential'; + const held = meetAt(place); + return held.lo > held.hi ? null : held; +} +export function converge(width, maturation, forgetting, epochs) { + let at = width; + for (let epoch = 0; epoch < epochs; epoch += 1) + at = Math.max(0, at + maturation - forgetting); + return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; +} +export function endsBeforeNow(now, leading, lagging) { + const ends = [...leading, ...lagging].map(([, hi]) => hi); + const end = ends.length ? Math.max(...ends) : 0; + return leading.length === 0 && end < now; +} diff --git a/samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 new file mode 100644 index 0000000..6575f8a --- /dev/null +++ b/samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 @@ -0,0 +1,5 @@ +import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +export function meet(L, c, world = new Map()) { + const { floor, ceiling } = parts(L, c, world); + return L.meet(floor, ceiling); +} diff --git a/samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 new file mode 100644 index 0000000..8cd3a24 --- /dev/null +++ b/samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 @@ -0,0 +1,18 @@ +import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ +function orderOf(params) { + const levels = wordsAt('lattice', params, 'levels'); + const leq = paramsOf(params)['leq']; + if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) + refuseForm('lattice', 'takes leq as a square of truths over its levels'); + return { levels, leq: leq }; +} +export const latticeOfForm = { + id: 'lattice', + lattice: (params) => latticeForm.lattice(orderOf(params)), + parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), + emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), + show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), + points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), +}; diff --git a/samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a new file mode 100644 index 0000000..7d36963 --- /dev/null +++ b/samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a @@ -0,0 +1,3 @@ +export const fact = (value) => ({ kind: 'fact', value }); +export const abstain = (why) => ({ kind: 'abstain', why }); +export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 new file mode 100644 index 0000000..4101623 --- /dev/null +++ b/samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 @@ -0,0 +1,11 @@ +import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; +const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); +export const budgetForm = { + id: 'budget', + lattice: (params) => continuousForm.lattice(span(params)), + parse: (params, text) => bandOf('budget', span(params), text), + emit: (_params, value) => bandText(value), + show: (params, value) => continuousForm.lattice(span(params)).show(value), + points: (params, seed, n) => continuousForm.points(span(params), seed, n), +}; diff --git a/samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 new file mode 100644 index 0000000..2a43916 --- /dev/null +++ b/samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 @@ -0,0 +1,110 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export function unit(subject, bounds) { + return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; +} +export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); +export function state(c, u) { + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +export function asBoolean(c, u) { + const s = state(c, u); + if (s === 'CONFLICT') { + return { + kind: 'unsayable', + lost: 'a boolean has no way to say two promises cannot both hold, so a ' + + 'register of booleans settles it by precedence instead', + }; + } + if (s === 'REQUIRED') { + return { + kind: 'lossy', + value: true, + lost: 'the floor: a boolean says may, never must, so nothing records that ' + + 'somebody depends on this', + }; + } + if (s === 'FORBIDDEN') { + return c.rank(u.ceiling) === c.bottomIx + ? { kind: 'exactly', value: false } + : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; + } + return { kind: 'exactly', value: true }; +} +export function bitLoss(c) { + let exactly = 0; + let lossy = 0; + let unsayable = 0; + let possible = 0; + for (const floor of c.levels) { + for (const ceiling of c.levels) { + possible++; + const k = asBoolean(c, { subject: '', floor, ceiling }).kind; + if (k === 'exactly') + exactly++; + else if (k === 'lossy') + lossy++; + else + unsayable++; + } + } + return { possible, exactly, lossy, unsayable }; +} +export function compose(c, units) { + for (const u of units) { + if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { + throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { + subject: u.subject, + floor: u.floor, + ceiling: u.ceiling, + }); + } + } + return fuse(c, units); +} +function band(c, units, from, onFloor, onCeiling) { + let floor = from.floor; + let ceiling = from.ceiling; + for (const u of units) { + floor = onFloor(floor, c.rank(u.floor)); + ceiling = onCeiling(ceiling, c.rank(u.ceiling)); + } + return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} +export function fuse(c, units) { + if (units.length === 0) + return permitAll(c, ''); + return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); +} +export function composeState(c, units) { + const u = compose(c, units); + return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); +} +const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; +const RoC = 'REQUIRED_OR_CONFLICT'; +const TABLE = [ + ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], + ['REQUIRED', RoC, RoC, 'CONFLICT'], + ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], + ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], +]; +export function table(a, b) { + return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; +} +export function conflictDebits(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + if (c.leq(f, cl)) + return 0; + return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; +} +export function entails(c, a, b) { + const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; + const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; + return c.leq(bf, af) && c.leq(ac, bc); +} +export function widen(c, units) { + if (units.length === 0) + return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; + return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); +} +export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a new file mode 100644 index 0000000..30f61b8 --- /dev/null +++ b/samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a @@ -0,0 +1,8 @@ +/** + * The format's own names, spelled once: the extension every file of the format carries, and the three files it names + * by it. + */ +export const EXTENSION = '.bound'; +export const LOCK = `TARGET${EXTENSION}`; +export const CAPSULE = `capsule${EXTENSION}`; +export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 new file mode 100644 index 0000000..14430df --- /dev/null +++ b/samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 @@ -0,0 +1,2 @@ +/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ +export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca new file mode 100644 index 0000000..339345b --- /dev/null +++ b/samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca @@ -0,0 +1,95 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; +export function chunkCount(n) { + if (n <= 0) + return 0; + return Math.ceil(n / WIDTH); +} +export class WideMask { + words; + width; + constructor(width, words) { + this.width = width; + this.words = words ?? new Uint32Array(chunkCount(width)); + } + static fromTokens(tokens, allowed) { + const m = new WideMask(tokens.length); + tokens.forEach((t, i) => { + if (allowed.has(t)) + m.set(i); + }); + return m; + } + set(bit) { + if (bit < 0 || bit >= this.width) { + throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { + bit, + width: this.width, + }); + } + this.words[bit >> 5] |= 1 << (bit & 31); + } + has(bit) { + if (bit < 0 || bit >= this.width) + return false; + return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; + } + and(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + const n = Math.min(this.words.length, other.words.length); + for (let i = 0; i < n; i++) + out.words[i] = this.words[i] & other.words[i]; + return out; + } + or(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); + } + return out; + } + difference(other) { + const w = Math.max(this.width, other.width); + const out = new WideMask(w); + for (let i = 0; i < out.words.length; i++) { + out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); + } + const spare = w % 32; + if (spare !== 0 && out.words.length > 0) { + out.words[out.words.length - 1] &= (1 << spare) - 1; + } + return out; + } + subsetOf(other) { + const n = Math.max(this.words.length, other.words.length); + for (let i = 0; i < n; i++) { + const a = this.words[i] ?? 0; + const b = other.words[i] ?? 0; + if ((a & ~b) !== 0) + return false; + } + return true; + } + size() { + let n = 0; + for (let i = 0; i < this.width; i++) + if (this.has(i)) + n++; + return n; + } + members(tokens) { + return tokens.filter((_, i) => this.has(i)); + } + static filled(width) { + const m = new WideMask(width); + if (width <= 0) + return m; + m.words.fill(0xffffffff); + const spare = width % 32; + if (spare !== 0) + m.words[m.words.length - 1] = (1 << spare) - 1; + return m; + } +} diff --git a/samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c new file mode 100644 index 0000000..c157030 --- /dev/null +++ b/samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c @@ -0,0 +1,55 @@ +import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; +export function isMonotone(c, value) { + for (let a = 0; a < c.levels.length; a++) { + for (let b = 0; b < c.levels.length; b++) { + if (c.leq(a, b) && value(a) > value(b) + 1e-12) + return false; + } + } + return true; +} +export function vacuityOf(predicate, structure, c, test, opts = {}) { + const samples = opts.samples ?? 2000; + const spread = opts.spread ?? 20; + const next = unitStream(1); + const n = c.levels.length; + let yes = 0; + let no = 0; + let sawYes; + let sawNo; + let read = false; + for (let i = 0; i < samples; i++) { + const v = []; + for (let k = 0; k < n; k++) + v.push(Math.round(next() * spread)); + if (opts.monotone) { + v.sort((a, b) => a - b); + if (!isMonotone(c, (x) => v[x])) + continue; + } + const probe = (x) => { + read = true; + return v[x]; + }; + if (test(c, probe)) { + yes += 1; + if (!sawYes) + sawYes = [...v]; + } + else { + no += 1; + if (!sawNo) + sawNo = [...v]; + } + } + const both = yes > 0 && no > 0; + return { + predicate, + structure, + samples: yes + no, + yes, + no, + verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', + ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), + }; +} diff --git a/samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 new file mode 100644 index 0000000..9a3d2a8 --- /dev/null +++ b/samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 @@ -0,0 +1,114 @@ +import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; +export const WIDTH = 32; +export const opinion = (demanded, permitted, limiting, required) => ({ + demanded, + permitted, + limiting, + required, + demand: demanded, + limit: permitted, +}); +const clashes = (p) => p.demanded & ~p.permitted; +const dualClashes = (p) => p.limiting & ~p.required; +const isConflict = (p) => clashes(p) !== 0; +export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); +export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); +const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); +export function packer(c) { + const joins = c.joins(); + const limits = c.limits(); + if (joins.length > WIDTH || limits.length > WIDTH) { + throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + + `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); + } + const allJ = ones(joins.length); + const allM = ones(limits.length); + const above = joins.map((j) => { + let m = 0; + limits.forEach((lim, bit) => { + if (c.leq(j, lim)) + m |= 1 << bit; + }); + return m; + }); + const miAboveAll = (jiMask) => { + let acc = allM; + for (let bit = 0; bit < joins.length; bit++) { + if ((jiMask & (1 << bit)) !== 0) + acc &= above[bit]; + } + return acc; + }; + const jiBelowAll = (miMask) => { + let out = 0; + for (let bit = 0; bit < joins.length; bit++) { + if ((miMask & ~above[bit]) === 0) + out |= 1 << bit; + } + return out; + }; + const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); + return { + width: joins.length, + joinWidth: joins.length, + limitWidth: limits.length, + free: () => opinion(0, allJ, 0, allM), + pack(u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + let demanded = 0; + let permitted = 0; + joins.forEach((j, bit) => { + if (c.leq(j, f)) + demanded |= 1 << bit; + if (c.leq(j, cl)) + permitted |= 1 << bit; + }); + let limiting = 0; + let required = 0; + limits.forEach((m, bit) => { + if (c.leq(cl, m)) + limiting |= 1 << bit; + if (c.leq(f, m)) + required |= 1 << bit; + }); + return opinion(demanded, permitted, limiting, required); + }, + unpack: (subject, p) => ({ + subject, + floor: c.levels[joinOf(p.demanded)], + ceiling: c.levels[joinOf(p.permitted)], + }), + state(p) { + if (isConflict(p)) + return 'CONFLICT'; + if (p.demanded !== 0) + return 'REQUIRED'; + if (p.permitted !== allJ) + return 'FORBIDDEN'; + return 'FREE'; + }, + clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), + clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), + maskOf(level) { + const l = c.rank(level); + let m = 0; + joins.forEach((j, bit) => { + if (c.leq(j, l)) + m |= 1 << bit; + }); + return m; + }, + accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, + above: (jBit) => above[jBit] ?? 0, + coherent(p) { + return (p.required === miAboveAll(p.demanded) && + p.limiting === miAboveAll(p.permitted) && + p.demanded === jiBelowAll(p.required) && + p.permitted === jiBelowAll(p.limiting)); + }, + }; +} +export function canonical(pk, p) { + return pk.pack(pk.unpack('', p)); +} diff --git a/samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 new file mode 100644 index 0000000..57f5c99 --- /dev/null +++ b/samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 @@ -0,0 +1,58 @@ +import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; +import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; +import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; +import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; +import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; +const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); +export function origins(place) { + return new Set(place.seen.map((s) => s.origin)).size; +} +export function potential(place) { + return origins(place) < 2; +} +export function disagree(place) { + const spans = place.seen.map((s) => s.span); + const split = spans.length ? witnessesIn(spanning(spans), spans) : null; + if (!split) + return null; + const left = place.seen.find((s) => s.span === split[0]); + const right = place.seen.find((s) => s.span === split[1]); + return left && right ? [left, right] : null; +} +export function meetAt(place) { + const spans = place.seen.map((s) => s.span); + if (!spans.length) + throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); + const form = spanning(spans); + return spans.reduce((held, span) => form.meet(held, span)); +} +export function latest(places) { + return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); +} +export function verdict(place) { + return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; +} +export function turned(before, after) { + const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); + return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); +} +export function encounter(L, c, world = new Map()) { + return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; +} +export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; +export function pairs(origins) { + let forks = 0; + let closes = 0; + for (let i = 0; i < origins.length; i += 1) + for (let j = i + 1; j < origins.length; j += 1) + if (cancels(origins[i], origins[j])) + forks += 1; + else + closes += 1; + return { forks, closes }; +} +export function laminar(origins) { + const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); + const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); + return x * x + y * y > origins.length; +} diff --git a/samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd new file mode 100644 index 0000000..12592dd --- /dev/null +++ b/samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd @@ -0,0 +1,17 @@ +export function register(c, u) { + const f = c.rank(u.floor); + const cl = c.rank(u.ceiling); + return { + demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), + limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), + }; +} +export function rebuild(c, reg, subject = '') { + let floor = c.bottomIx; + for (const name of reg.demanded) + floor = c.higher(floor, c.rank(name)); + let ceiling = c.topIx; + for (const name of reg.limiting) + ceiling = c.lower(ceiling, c.rank(name)); + return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; +} diff --git a/samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d new file mode 100644 index 0000000..cafc6a2 --- /dev/null +++ b/samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d @@ -0,0 +1,42 @@ +import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; +import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; +import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; +export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); +export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); +export function refuseForm(id, why) { + throw new Error(`REFUSE·form ${id}: ${why}`); +} +export function numberAt(id, params, name) { + const held = paramsOf(params)[name]; + if (typeof held !== 'number' || !isFinite(held)) + refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); + return held; +} +export function wordsAt(id, params, name) { + const held = paramsOf(params)[name]; + if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) + refuseForm(id, `takes ${name} as a list of words`); + return held; +} +export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); +/** + * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. + * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. + */ +export function bandOf(id, whole, text) { + if (text === 'empty') + return { lo: whole.hi, hi: whole.lo }; + const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); + return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); +} +export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); +/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ +export function levelsOf(id, held, text) { + if (held.some((level) => level.includes('..'))) + refuseForm(id, 'a level holds no band mark `..`'); + const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) + ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); + return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); +} diff --git a/samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 new file mode 100644 index 0000000..0d5c59e --- /dev/null +++ b/samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 @@ -0,0 +1,35 @@ +import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; +import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; +export function fromScale(c) { + const inhabited = (x) => state(c, x) !== 'CONFLICT'; + return { + top: permitAll(c, ''), + bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, + leq: (a, b) => entails(c, a, b), + meet: (a, b) => fuse(c, [a, b]), + join: (a, b) => { + if (!inhabited(a)) + return b; + if (!inhabited(b)) + return a; + return { + subject: a.subject || b.subject, + floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, + ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, + }; + }, + show: (x) => `[${x.floor}, ${x.ceiling}]`, + inhabited, + }; +} +export function subsets(tokens) { + return { + bottom: new WideMask(tokens.length), + top: WideMask.filled(tokens.length), + leq: (a, b) => a.subsetOf(b), + meet: (a, b) => a.and(b), + join: (a, b) => a.or(b), + show: (x) => x.members(tokens).join(','), + inhabited: (x) => x.size() > 0, + }; +} diff --git a/samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 new file mode 100644 index 0000000..3de28cc --- /dev/null +++ b/samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 @@ -0,0 +1,53 @@ +import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; +import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; +/** + * Project already admitted, folded configuration claims for publication. + * This does not admit claims or fold history. The containing artifact supplies integrity; + * public-key records retain their signatures, while other claims lose delivery envelopes. + */ +export function publicationOf(live) { + return live.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + const fields = got.value.fields; + if (fields.value === 'withdraw') + throw Error('REFUSE·publication a withdrawal is history, not standing'); + if (fields.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (isPublicKey(fields)) + return canonical(fields); + const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); + return canonical({ ...semantic, by: 'target' }); + }).sort(byBytes); +} +/** + * Recognize a public lock without granting authority or verifying public keys. + * Signed delivery history returns undefined for the ordinary authority reader. + */ +export function publicLock(lines) { + const fields = lines.map(line => { + const got = parse(line); + if (got.kind !== 'fact') + throw Error(`REFUSE·publication ${got.why}`); + return got.value.fields; + }); + if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) + return undefined; + for (const record of fields) { + if (record.type !== undefined) + throw Error('REFUSE·publication object history needs its semantic projection'); + if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { + throw Error('REFUSE·publication unsigned delivery signer'); + } + if (record.value === 'withdraw') + throw Error('REFUSE·publication withdrawal in a public lock'); + if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { + throw Error('REFUSE·publication delivery envelope in a public lock'); + } + } + return [...lines]; +} +function isPublicKey(fields) { + return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; +} diff --git a/samples/typed/fixtures/history.txt b/samples/typed/fixtures/history.txt new file mode 100644 index 0000000..e403599 --- /dev/null +++ b/samples/typed/fixtures/history.txt @@ -0,0 +1,51 @@ +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:VsMkP6U+BRADaoGYB4DoTba8TzGsIo7ZwQDsMMQxNWD7Cr7jLvUoGLrr6QC4u08w/fjJ1X4kfHHQXFVgnDdeCQ==" value=authorize +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:UH1x6X4otZ5vsrscszJu2fUvgMffXm3Dzu0qmbBiMWm5/aDWD5DfxjcV92/YZnxho+z55C7DuCNM/oOaRZzwCQ==" value=* +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:1TorNMceIKYuLAx7Maz16HxLQcYTpbrfTQK7rcFKWmSdaOLOp7k/fB1jPOgYOa491Liy5thLpOLEnF8FXJZaBA==" value="MCowBQYDK2VwAyEAG58z6dZIvmH52AzAoqqGA7M7jcoViAB3M9CsqWN912o=" +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:thYcTjOhMvybi/48CuMpa+uaQSTar6FnA4NqSqAuvnCWtA5NCsdI9qasBveoXFi0ZXeH+fiWWnDj96y9f3m5BA==" value=file +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:oO1b1jgrfmlAEJKulSyBDIyZS5rfUz2DUPCVPofBhnND6nH91kfEzeUSTGaAurxBbJtax9bKtOy7WcMJVPiiDw==" value=read +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:DAhd95faMyJ2YlOBqma00TGHylmhmgEW5YzPgrXveXUNH9D99CXFTMenxcqXjr1s0uuEAkhEdNbwqItlCc/ABg==" value=fold +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:bXi1tfTzDsqEQH5LrptXEvOFEhbAQj2Ee3FKht5PXQQR2ZgWf99pJ9k8QVvzGhfQtsLDa1ZX+2ym/Esm9tZBCg==" value=5000..5000 +bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:Gjg/xp919EPHNijaKKRczOdZqlt28mIINUnSmJ2Pjo7G2fGe098/S7kJxUo9ZAuhQW/tgXAwTKLOoDt05pYBBQ==" value=65536..65536 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:hZbpUdp1GN28hqSBfdZdG6iHfpB4f2RhZvYyBOFXdfTHJPkJrtmxKqNpmM3iqp9FGM11+GwkBYAp/qKU0SJuBQ==" value=sha256 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:N5rks83bP7kTRvu6DJrkcFXUViALywXSXZpXenyr57zhPpJLTV8nMm8e0S3bmO3dkjcbbBL3RunyYhX1fRlnBg==" value=ed25519:sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:Ba5sEbIxx+eaGKQ65SAaW0iLl2NRL++GOVlHgxt2mVcSP5zY/jBQ68q7lTimw/GbUEGW62RQGEuH4RQ9LfcKBA==" value=sample +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:yqUYSuUBrmLCaRxUs49bJw6GZ4UR+AZEIqFVCrfCuCL84iIEEgl5JmFsGY5idBU4TNai7OL73RB5c8HLW8vvAQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:ffijhWun3u3KqEophc/oN+L725CXIeIyGrWFRBGcQ3QSmB7dJIn7ZKYqhWhpwZP1T4EPg1W5twEKbmpPFm9DBg==" value=alphabet|interval +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:mWoFJNA9k14CVpfhriutqyspZndpCYZ4Qa6C8R6qYvw6fBWXYpL6yhoMaUWO7jZ1v8E/t0Mb5tzCQ2EfGOCQCw==" value=reads|writes|demands +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:wKd4krKKtjM1zUCrnPAEz7YM7mKkjjrtIA7jUG+GmxzBYvazVN+yNSgr775nQHGSdYBB4bLrwO5Riu0HgOYZCA==" value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:Rv1xDwk7JPlTw+PMy0poMEp3i6HVj1j9pB2waWY5Lm7Lk+h0DvYOJd9uAWLYx03Q0s0Qpnm4Zms2sWgU9gbACA==" value=semantic-live@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:mYoqaxxcBWvVq+Ix9Vyap3mbfEJMT0sloxIJJB+X6QBM/uLW8AIOHtii0Dbzsp6JQL/qzV7Xct1mqFhxXzzvCQ==" value=coordinates|leaves +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:P/bVWbvpKUKf1PWCXyzV9qSnW8KktwJZOELfwl5PeneMtPqYJqauvLa4hMBI+PK7Jfa8KIh85gS2KH0yw3yQDw==" value=cells@1 +bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:F2bCnHhNkTB+8PmxdGW3asEdmgT73j8lzWslBn8dCbqj3eROum6PVxltcdZz4mFmtbFVnfjR0Zk7S8vwoWeaCA==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:o+wWHYYwlL7vFfx5zl1NBfxpD0xGuhJJ+IKU9/0wfCDzZevbHyyh8zZLBiS46MLj5mFE09c3bokZrRpwubJVCQ==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:I+kr5rGhcBz1HyvpQgEpPWbN0mMP68lohQI78zKn6HcdvO32hVVmRsc/sMfhGmy7IyTqAfwbD49OhOwu9ehYAQ==" value=at|by|form|measure|role|scope|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:8/4PzKXSePJ9eq9T94TzCJcY4XrGZNR0ptU3yengVSCZowa5l5DlMoYqIF6Zy0namKWrigfA/lTmmVH03gEnDw==" value=cell|claim|mark +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:xEpVAfxv3Ctvf4NX6gLp+K9OhQsLEsTQtKB6HsxPgzu4YWaofLnGSBEMVj2ke7ayz2tL6RzRy4htGwYyImUeDg==" value=by|epoch|id|scope|sig|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:lRT/oGnookdwLPVEl0k60ldCyx7q4JLdloZoU9aSxKNfb2ibOoyD9MeHy/uAvB1CYo2q0jNgBBqP8zYFaeQzCQ==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:X03eNiBB1a96Not9WjtuvXKlyd6J3R+AI9ji/HVNKiANgQP07xVi1QM/6gu2YEkRUoPv5WXJ+/2G/4KPwOACCQ==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:M29F13rqDhquAgmF9MmBPl8Jy5ccbT6qgcHuynZgTXGJ3/SZTnc8snajSG7V9dc4s0EiWlNFaqTC0/FEJnoxAg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:9bSdMTSfgdfF24WBKNigUn4poshvgsnD0HQTW45h8Hf8WHc1UQvA9AkhBI5ZktEWlv8hwpsIRgI5zXKV8burAA==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:GGc07B5DXZuUNVhx9yiIvawmANp6ko+ef3nJtQ3IzAP0FKw7PvTb1r7RgZCClKIzqCmu5y3BizGDj6SfD6IXDw==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:K3d/XQlaU3wyu1TamBA/+VJSfy1KmsFViXBmpBt9MnF+6g9hOnZrWoMl0+q9J1/f6v8XqfKtsr6QJQUSjAAtCQ==" value=by|epoch|id|origin|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:0XdwE5in0cHtGcY96AaogV4vTJ2D4+jXKbXXL5Aw8aKLsH0ZHMEhZt7PxS5W/koDB920k72r05cFmD8pGbI/Dg==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:TFx3TyIzNst7CuXba7/Hq1vpWf+KrQiQcijBFPm7SIP+PaFCDG9dOmpvagLUJyjrY4vlUzubyoYAzxcSEW7OCQ==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:EONV3/ikDi2bV5PAA/ToMVbCsxqkXGUKUOI+YRvl7vNbKbZwJYfxlx8rlR3NP8XfkL4Yn5JmaFSRsFNb1FY5BA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:OARj4SOVCowLNNI+4mJfFtlnfoRpcfs26HWzwmBh6JPR2BWJxYfO5L8fSZkaONkTigpIdtybuoqCfCkQFBbRBQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:CRtmIQJ3khj1P3k6b3Vtipysxoy918f9qPKraeOSWFCvaz2PFIida5SSEr9BpWnZDlPTT1TcWAc+7wysnqBtDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:LqtTwRzTxsaFsa0KF/n77o0ACCn6mwF++CznrZYAGy/9dovskoSy1768qg8dwQ1WWCacxMyr4K1b/2DEAM4CDg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:Uoc30znLb46hGPYB1MgWb3VEUrNghqVecXRV1o3hCLya2Ou3hx6wiwAzCMNe2xqymHhm20c9+A0cqVS6J29qAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:dQUd3oMsSZhsv9cLP4DeIb2WtrKpkYkPawyzXFzV89zfP2wq8ZRvtg7WfOn/44FBx99kCDT9QRdvTkRibvZ7Bg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:ZNEvf48U2+y6Ed9YOp1Sn+PGMl/IaqAOlvo/O99YS7HCX7cDYMGwQJIFD3IkxOiPmkxncebZzVkwyCAlVRPZBA==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:thQzCswmMWejhRISHPKxIJu3+v4hCAiQO74RDly6FBSY5nFobbN6MwdmIUBz8XVQ1q1zaQD6grPeBNll+gAaBw==" value=by|epoch|id|scope|sig|sign|takes|type +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:Fzmvbkvoh3UCsDWi/RMJwtXPU+WMJL8ss+5LBdSvnppI5Ggtz5DB6FgZfNzsHniHwLqw3JeUAUyZPbh7AzLTBg==" value=ana +bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:cvmxOyXZv03mJAQ1dwb1RLw8LfVXk6FmfFS2OV1IpPunjUWd0HJevgjCZsySjkB2695O4tHo/DbcDQ58s7smCQ==" value=luis +bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:GlqfSxkzEXDY1uxAzmaARbuGEcIkzdyZj3QVnQFH/fLlo+QZO5+9rlJQ6kazMT1/wgbsAlprFIrBhKC09D5gCw==" value=local-opening +bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:NIwEnFZGrQBr3wpjlRxE5ds0wle5q+ydvbjemY/HaKPluUBGuZub8XeQmUuOWtdgt1ZOl/ucU1fMiAoxMOKaCw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:JJpJd9FJXEDpdWKTIENvmrWDyEcvaG8W9Mwikfj6q5Lrmck7p0lCmA/9Y6gTg2J3tkPXy6ytl+AuzI7O+fp9Cw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:q+o62aJE9w8/sZaPc+w/cHc64rVvWmk+Ng8hYYD3FMPYnIPpzRYiSyAxUS6PRaV4oZ+IHDz0qQymcE6BYG/KCg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:xZVl486j4WvmQybJ0pLi/Uuv7tFOl8ju0e8n4rBL4Hhvnak/j/qTlSVfILTKT0ZehxyhXWOHZlLYEAle7uIzBQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell +bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:vVBOw5CT0eVKRUITqkoqOm4c5kIX6Y5/UK7Jxu5LvUhC6FJfSp+FMvpSIuA9lj6vZuG8wefUVyaFLdzwwWjgBQ==" sign=+1 type=mark value=0..50 +bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:ijOF/I2q5cwFa5DRNi2bc1McDR7zBmW8LgdfDse1wPsEfAvaFgNshepAPPaN+SjUq+qFetqPQLh6CxJV62l9BQ==" sign=+1 type=mark value=0..100 widens=local-opening +bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:WDY5Ggd7Dgrj1VyxfTk1dQajv8Yy5EslNAvsrQxQE9X9ygA2paywJ118kKgwYAmt6eyIaep3sdJLN3xY2gN2CQ==" sign=+1 type=mark value=40..* +bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:LWaUxfRb/3UZqnBXHjSU6TwmrCnoXj9B57L3nPqR/+262RzgcP908oy/96oPBorgLgOR6w+TAa+Ix/cWYJPDBA==" sign=+1 type=claim value=42..48 +bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:CU8QiykxIw3+WFTzZQ0NhOgrciXOc40twB69Y/4Qf/NmRkBtJt/GizqfMLgKXuvWqL5KwVbUaGVY1/mH+FcgDw==" sign=+1 type=claim value=44..47 diff --git a/samples/typed/receipts.bound b/samples/typed/receipts.bound new file mode 100644 index 0000000..6e6f9b4 --- /dev/null +++ b/samples/typed/receipts.bound @@ -0,0 +1,9 @@ +bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:b815a508a9ec9615d902f914c3cd88ab1dad8f1abd244ed48153b1e27f727e91 +bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 +bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d +bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 +bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 +bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 +bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d +bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 +bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/walk-publication/inputs/001-left-conflicting-wire.bound b/samples/walk-publication/inputs/001-left-conflicting-wire.bound new file mode 100644 index 0000000..c4bbc05 --- /dev/null +++ b/samples/walk-publication/inputs/001-left-conflicting-wire.bound @@ -0,0 +1,25 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/002-left-context.bound b/samples/walk-publication/inputs/002-left-context.bound new file mode 100644 index 0000000..4bf5b13 --- /dev/null +++ b/samples/walk-publication/inputs/002-left-context.bound @@ -0,0 +1,24 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/003-right-conflicting-wire.bound b/samples/walk-publication/inputs/003-right-conflicting-wire.bound new file mode 100644 index 0000000..5dfe2b1 --- /dev/null +++ b/samples/walk-publication/inputs/003-right-conflicting-wire.bound @@ -0,0 +1,25 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/004-right-context.bound b/samples/walk-publication/inputs/004-right-context.bound new file mode 100644 index 0000000..074f2e3 --- /dev/null +++ b/samples/walk-publication/inputs/004-right-context.bound @@ -0,0 +1,24 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/005-left-local.bound b/samples/walk-publication/inputs/005-left-local.bound new file mode 100644 index 0000000..5ac673b --- /dev/null +++ b/samples/walk-publication/inputs/005-left-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/measurement value=left diff --git a/samples/walk-publication/inputs/006-right-local.bound b/samples/walk-publication/inputs/006-right-local.bound new file mode 100644 index 0000000..73e3261 --- /dev/null +++ b/samples/walk-publication/inputs/006-right-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/measurement value=right diff --git a/samples/walk-publication/inputs/007-right-inventory.bound b/samples/walk-publication/inputs/007-right-inventory.bound new file mode 100644 index 0000000..7c4df01 --- /dev/null +++ b/samples/walk-publication/inputs/007-right-inventory.bound @@ -0,0 +1,2 @@ +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:sDd+9GtDxiOArPiq2h4dHeyZtGfKsfa8qxkhcyY+AbTKJCs4gW9AFY2FwJTJeNaT4lzjV0b/U3No8ppICMORDA==" value=sha256:65f1bca9e9df0b7af88fcba5a45c294b8a18c37daaa5b929686aff25d0ca1944 +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:HwubtQqshDeaAQcub16UA43XoXxwNf3XzXVvpMowE4xfSt7HHsZS3LDOnVt3FEHhXL2LWY8uHDexBDU+2Qu9CQ==" value=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab diff --git a/samples/walk-publication/inputs/008-altered.bound b/samples/walk-publication/inputs/008-altered.bound new file mode 100644 index 0000000..992139c --- /dev/null +++ b/samples/walk-publication/inputs/008-altered.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=altered diff --git a/samples/walk-publication/inputs/009-partial-payload.bound b/samples/walk-publication/inputs/009-partial-payload.bound new file mode 100644 index 0000000..2b3cdc2 --- /dev/null +++ b/samples/walk-publication/inputs/009-partial-payload.bound @@ -0,0 +1,3 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 diff --git a/samples/walk-publication/inputs/010-outside-prefix.bound b/samples/walk-publication/inputs/010-outside-prefix.bound new file mode 100644 index 0000000..631d9c6 --- /dev/null +++ b/samples/walk-publication/inputs/010-outside-prefix.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 +bound-lock/1 at=policy:walk-fixture by=left epoch=99 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:AgeSLpdKM1q8IvnM6rMij1yEnLd9r4CCTH+z50h1jXAghH1wlHVGo/4g9pk0Y1ueOsaIeCtOAqTgs+QGHR0XAA==" value=left diff --git a/samples/walk-publication/inputs/011-unauthorized-prefix.bound b/samples/walk-publication/inputs/011-unauthorized-prefix.bound new file mode 100644 index 0000000..83b251a --- /dev/null +++ b/samples/walk-publication/inputs/011-unauthorized-prefix.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=outsider condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:c3mwdr6/ig/heo5tIrh8Gs8aViBJ+3EWDwaMBgio6mQ6CKA4lnk+mkqvWGJI1radNo3LzcHft85mMhsGWjFhDg==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=outsider condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:N9LJ7H1PGVLiZ2vru2tLTqfwSZRVI93IOMdZAuX3/vB7jf5YMQpo6gaDMMkblIl3ZaSpRDLtn5k4cVzE/TDmDg==" value=1..1 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=outsider condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:VZmosMSQeLp3HQFtC/LCfPWOe+pgQv/4xI31B0tn+Zm6A277BazO3pCCYIk6sygQ2qVbnvts/qoElDatrdzPBA==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/012-stale-base.bound b/samples/walk-publication/inputs/012-stale-base.bound new file mode 100644 index 0000000..dc0cf78 --- /dev/null +++ b/samples/walk-publication/inputs/012-stale-base.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0000000000000000000000000000000000000000000000000000000000000000 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:ymP21/Q5sIBF9Q+z3XTa2DtPnH+dbIaL9wqTBhVUJhPZaV5jEeYOfqQ4TbbMO3LwKCuJMa1/7AhXKEMpNocpBA==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/013-left-payload.bound b/samples/walk-publication/inputs/013-left-payload.bound new file mode 100644 index 0000000..4a67e48 --- /dev/null +++ b/samples/walk-publication/inputs/013-left-payload.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/014-missing-earlier-prefix.bound b/samples/walk-publication/inputs/014-missing-earlier-prefix.bound new file mode 100644 index 0000000..561b3ee --- /dev/null +++ b/samples/walk-publication/inputs/014-missing-earlier-prefix.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:3c516656329d0c84cce5c71aab05f12b35a692f9857cbb9f1027a84ca7fa55eb epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:RahqHSWL5zhVq/HJtsXjGFjyvRtJh+wS94MQ1rRQpPZck9TfaY6g0O/omonzGrer6Vj3oeGVoHFEE1xS48+HCg==" value=sha256:aa531dc2c813513042fe0b42cf6a002458118deed81722804f29e357fe857909 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:3c516656329d0c84cce5c71aab05f12b35a692f9857cbb9f1027a84ca7fa55eb epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:9zlVcvsk9jYjpNJjW5roMrghtb+8Qj3+JYW6zOfBwZtT0XxaBgNVSnhbhLpO4aYQ1IBYU5Fm08riPPKX7JFRBg==" value=1..1 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:w+j1Q3IruUXF+lhZV24570XfhZE+Y4p1kjBtdeE/Wc58zyQvIa83LaCMk6TUCb8Vp4ZYfslvts/0NIik3A0UBw==" value=sha256:3c516656329d0c84cce5c71aab05f12b35a692f9857cbb9f1027a84ca7fa55eb +bound-lock/1 at=policy:walk-fixture by=left epoch=3 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:qoWI0BkAOqWBjrhPfBc7in7v2qUFHX4uRYpPmCDOg95K1qSlilUocMG7gCNT4Vi4HirMZFUXz1t/Rv2gHAo2AQ==" value=replaced diff --git a/samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound b/samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound new file mode 100644 index 0000000..0824fb9 --- /dev/null +++ b/samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound @@ -0,0 +1,5 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:6fd81f9a938c2efea4831490b4cc6c89347d5c81f6186dce91c3ed9c31030311 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:DTNTMPGy4nDV1TP9ThSpX0ad56BbauABJrQF75mnDf8r+R3WAO1+hDybGOiothxDEMHCvA53vz0UqONy22LcAw==" value=sha256:99fb51aa4feec472fc323f51fc2eff730060c4093ed4ca2a7fdc7a21276734c9 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:6fd81f9a938c2efea4831490b4cc6c89347d5c81f6186dce91c3ed9c31030311 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:YCrhsPDnoebdRzt+17WkO1wRTGVJjp7q5YmBOjWP6MNlT21pwofqBoJRTdXPai8zEOHqKh4UhyzT04Xu2AK8DQ==" value=2..2 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:B0YFE0E6kTPLJR0/TbXGc0yq/Yph+ohHg0MAz1oRyEqwcFqwSrtbgd3GpyjakKImkDy25ohCmrL4Av2dDEbECQ==" value=sha256:6fd81f9a938c2efea4831490b4cc6c89347d5c81f6186dce91c3ed9c31030311 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/extra sig="ed25519:sample:pLkYsC9mSLd6RG3vQOEhlyzN8F/h6Pt58f2nVhULwdA4p0m6yP+AY93YdWq9s+sBcna0SIoRQDE74zU66etnAA==" value=left +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/016-right-acknowledged.bound b/samples/walk-publication/inputs/016-right-acknowledged.bound new file mode 100644 index 0000000..6c9dfa2 --- /dev/null +++ b/samples/walk-publication/inputs/016-right-acknowledged.bound @@ -0,0 +1,3 @@ +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:SE1p5Jl1qBRMZ8lPO2bd1Dw1vf9kYQCsN1ieEuDvQBXxeOaczuuHcHsAxrVrZEZyraNov2RCp9+5kHlevKXFCw==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:IDK0Qu3gUM/u2GxyYCXDPypfiv9vMb+6e0zahnjyH5euK15PWQAEosgbEj/htiC6XZGzaKH5shl+R0PdEAsZDg==" value=sha256:65f1bca9e9df0b7af88fcba5a45c294b8a18c37daaa5b929686aff25d0ca1944 +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:1TPDCHvlU3gVG+uyuh4nkTC1UPZmHAKaUltCN0qEgUVa6VWyUMnsTjcUke6MbsTNC0XLy6BmuwNOOenlX1eWCA==" value=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 diff --git a/samples/walk-publication/inputs/017-no-payload.bound b/samples/walk-publication/inputs/017-no-payload.bound new file mode 100644 index 0000000..11e1161 --- /dev/null +++ b/samples/walk-publication/inputs/017-no-payload.bound @@ -0,0 +1 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:jYXzCJixyJG6vZ5/YY8m9d1Sdo8U6QzBTLRCdBE5BfiZYXThz2X5TB2YKKJMhM0spiTNfi4zN6I7k3BX5Y7KDQ==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 diff --git a/samples/walk-publication/inputs/018-left-inventory.bound b/samples/walk-publication/inputs/018-left-inventory.bound new file mode 100644 index 0000000..cda7011 --- /dev/null +++ b/samples/walk-publication/inputs/018-left-inventory.bound @@ -0,0 +1,2 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:0SeBeq/z2xk2LngFGQySyKEipM44L+/aBKJnWrAGSU/1wPrCLPiEzw0rRiITYcessguTHgCxkWqLmQ6iYcUwAA==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 diff --git a/samples/walk-publication/inputs/019-right-payload.bound b/samples/walk-publication/inputs/019-right-payload.bound new file mode 100644 index 0000000..44906f2 --- /dev/null +++ b/samples/walk-publication/inputs/019-right-payload.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:YzrOnR9tOemc0hHvo1WL6y+xX4EOXQMYOueSJyTNVkosLqY9OOOpclTUkhW7PON/aaV2hit1jlDlImDsrdBeAA==" value=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:6DSOLHSYGi590K9wzCKqfleF1EgwDvIUkCbye8epf5W/kLVr7GSAZDzWn5/D+OE135GunH4mzcWmnTeKe02EAA==" value=sha256:65f1bca9e9df0b7af88fcba5a45c294b8a18c37daaa5b929686aff25d0ca1944 +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:0OqlV0n6gcMA6d1upbqk56a5/1OVQ2wI5BMMAyCkYsfQWbF2zpfkPLRFrLbkoHfUqVaFgofNjf6Eodw2ERDMBQ==" value=1..1 +bound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==" value=right diff --git a/samples/walk-publication/inputs/020-next-local.bound b/samples/walk-publication/inputs/020-next-local.bound new file mode 100644 index 0000000..4271257 --- /dev/null +++ b/samples/walk-publication/inputs/020-next-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/after value=local diff --git a/samples/walk-publication/inputs/021-alternate-origin-context.bound b/samples/walk-publication/inputs/021-alternate-origin-context.bound new file mode 100644 index 0000000..cdf8f30 --- /dev/null +++ b/samples/walk-publication/inputs/021-alternate-origin-context.bound @@ -0,0 +1,25 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/022-select-alternate.bound b/samples/walk-publication/inputs/022-select-alternate.bound new file mode 100644 index 0000000..77e576a --- /dev/null +++ b/samples/walk-publication/inputs/022-select-alternate.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/alternate value=sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 diff --git a/samples/walk-publication/inputs/023-undeclared-context-lineage.bound b/samples/walk-publication/inputs/023-undeclared-context-lineage.bound new file mode 100644 index 0000000..b5afaf1 --- /dev/null +++ b/samples/walk-publication/inputs/023-undeclared-context-lineage.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8WPW0kujMAELe31qSIj8ZSYF2g3Ur4voOlWdgFe/GBADaVcoVuQrSDcxk3BlJ9lItPYTk+g1AF+UBdktfryBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:9givZCRLSnaLQTR0HGl/X3fDvQwmgiGV2qBLFD2YYL+3J0WDT9WKTMRw0Zm9+tokF5YfPMj1FLE1AY/FLor/Dw==" value=1..1 +bound-lock/1 at=receipt:sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:s8ZXSvSXXgmUnGrf01uPwgMdnsZI++1VsQkH6h5xc4FPZWVXD3pNpOelq6bqi2tFK+XcJ0V+Wcsc8o3AbF/DCg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/024-new-left-local.bound b/samples/walk-publication/inputs/024-new-left-local.bound new file mode 100644 index 0000000..0a3dd40 --- /dev/null +++ b/samples/walk-publication/inputs/024-new-left-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/new value=next diff --git a/samples/walk-publication/inputs/025-right-final-inventory.bound b/samples/walk-publication/inputs/025-right-final-inventory.bound new file mode 100644 index 0000000..60b7371 --- /dev/null +++ b/samples/walk-publication/inputs/025-right-final-inventory.bound @@ -0,0 +1,3 @@ +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:XtMznxgrLeZ4tA9ybQClgpPaDR1mUafBzJ7ihc7r1TigBzXxF15x/1eBqnfUsTKx57lsoz9etvZYb3wmQuCxCg==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:35mRRMTWUVVD7xDB6YOqN9jSqkiptPE937VePcqwqJA812k6/nGtaWA/ywSAXMv0vFnZI5/8e3/zL0xvHuo0Ag==" value=sha256:c392db73273808c97e800a6511b0e50e2e0cb9c842d154abee8a272f2864e825 +bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=5 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:rr43MWwfR8wjdP3QrBrUrh+8fGVZ9LGTVJoyf0Hg0A7Rru8O7qBaBYZqjTX8tIkbCylRoEReTWjStkYeZIuZDA==" value=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b diff --git a/samples/walk-publication/inputs/026-interruption-payload.bound b/samples/walk-publication/inputs/026-interruption-payload.bound new file mode 100644 index 0000000..b4422de --- /dev/null +++ b/samples/walk-publication/inputs/026-interruption-payload.bound @@ -0,0 +1,5 @@ +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:4776ab337d6b054e1535159548dc6ac66ce5ac8ba8e8bf11b2119fc69c2f6d12 epoch=4 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:IvuAF5nbNcfvE8EbtES4a78+94XSJn0xMVVaRSTciZ8Y8pRvNYAsm4nZ+Uo4F62EofQNjSgU3yQsyW/J5oGsCw==" value=sha256:520e3dbf751b8ecf59567b041811cbab9ec818068d689f2efccb9b993618961a +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:4776ab337d6b054e1535159548dc6ac66ce5ac8ba8e8bf11b2119fc69c2f6d12 epoch=4 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:9fV/chTTvt4udb1AfUN5S9u9gYeJC6ATY4PmD8zt/NoAf+F7bdQxF5m9j4erzS9p8yabsoYsN7hpC+j6lPy5Cg==" value=2..2 +bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b epoch=4 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:O7i1U8d8IwSD1NUwpGZFeWky0P97CWDCtBOWqM9n1sK+cfcQolSRNMdS/PBrw0S7qnTzGfWb/GoYhdun/fixAA==" value=sha256:4776ab337d6b054e1535159548dc6ac66ce5ac8ba8e8bf11b2119fc69c2f6d12 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left +bound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig="ed25519:sample:7wIO3vRnI1l0mZrKq/mFcexpQMyJfK2sLMHCJGlWofJVIoNuy3oiQGNGLTiNVEXeqr74kMW2MqMKyJh+dm+qCw==" value=next diff --git a/samples/walk-publication/inputs/027-left-conflicting-wire.bound b/samples/walk-publication/inputs/027-left-conflicting-wire.bound new file mode 100644 index 0000000..db1e337 --- /dev/null +++ b/samples/walk-publication/inputs/027-left-conflicting-wire.bound @@ -0,0 +1,25 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/028-left-context.bound b/samples/walk-publication/inputs/028-left-context.bound new file mode 100644 index 0000000..5a8cfe7 --- /dev/null +++ b/samples/walk-publication/inputs/028-left-context.bound @@ -0,0 +1,24 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/029-right-conflicting-wire.bound b/samples/walk-publication/inputs/029-right-conflicting-wire.bound new file mode 100644 index 0000000..7293451 --- /dev/null +++ b/samples/walk-publication/inputs/029-right-conflicting-wire.bound @@ -0,0 +1,25 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/030-right-context.bound b/samples/walk-publication/inputs/030-right-context.bound new file mode 100644 index 0000000..f775a13 --- /dev/null +++ b/samples/walk-publication/inputs/030-right-context.bound @@ -0,0 +1,24 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/031-left-local.bound b/samples/walk-publication/inputs/031-left-local.bound new file mode 100644 index 0000000..ec63993 --- /dev/null +++ b/samples/walk-publication/inputs/031-left-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/artifact value=left diff --git a/samples/walk-publication/inputs/032-right-local.bound b/samples/walk-publication/inputs/032-right-local.bound new file mode 100644 index 0000000..1350b34 --- /dev/null +++ b/samples/walk-publication/inputs/032-right-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/artifact value=right diff --git a/samples/walk-publication/inputs/033-right-inventory.bound b/samples/walk-publication/inputs/033-right-inventory.bound new file mode 100644 index 0000000..512a5f5 --- /dev/null +++ b/samples/walk-publication/inputs/033-right-inventory.bound @@ -0,0 +1,2 @@ +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:lVKVuT1rFpHEpmroflklPUtBk6aO2k5AHW2bZpG/o8WtOoTYHNkKqacPEuFWXVBG5MHfgPaBws2bPCSjUVvADQ==" value=sha256:ebeca5b18bcf73bf69f9a25ae0d712625beb9b5f89a717e9e2e27e2849bc9925 +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:enQwoId31rHE3mUnH6krAOx79iPARrC9OvBudLtk61Rh7ToeXbyr/3mO/Qaf4izUPFwFEsPfWyMRygEb2ZWTAQ==" value=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 diff --git a/samples/walk-publication/inputs/034-altered.bound b/samples/walk-publication/inputs/034-altered.bound new file mode 100644 index 0000000..f829347 --- /dev/null +++ b/samples/walk-publication/inputs/034-altered.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=altered diff --git a/samples/walk-publication/inputs/035-partial-payload.bound b/samples/walk-publication/inputs/035-partial-payload.bound new file mode 100644 index 0000000..62ed7a3 --- /dev/null +++ b/samples/walk-publication/inputs/035-partial-payload.bound @@ -0,0 +1,3 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 diff --git a/samples/walk-publication/inputs/036-outside-prefix.bound b/samples/walk-publication/inputs/036-outside-prefix.bound new file mode 100644 index 0000000..e1f65d1 --- /dev/null +++ b/samples/walk-publication/inputs/036-outside-prefix.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 +bound-lock/1 at=policy:walk-fixture by=left epoch=99 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:rTrlnZIXa56b8lt3zoapOjeBK1hOO+hAmUcWAWJE4QRMk58AsxPaMuw8Fyf4fn2r3kr4L3eD9GApb+xVQ3ShBw==" value=left diff --git a/samples/walk-publication/inputs/037-unauthorized-prefix.bound b/samples/walk-publication/inputs/037-unauthorized-prefix.bound new file mode 100644 index 0000000..b8179f3 --- /dev/null +++ b/samples/walk-publication/inputs/037-unauthorized-prefix.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=outsider condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:WiV827oZQUp1Zja7pHye1dBub2Z0iSGeQKBlhCImBhtVPUcNp4AACyWRo8qJFkOrERZViSRZNZM1I56LxN4bBA==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=outsider condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:SKOtX1iUMiFGSp69a8fx/K3TtBALVnJB+bB08NVbv5Ku/esfezTxV/i0b6DBfyAUPcx1ima3yYZs0SqY/YZQDQ==" value=1..1 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=outsider condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:NI4DZH9hSJI02oRflJltEHDI3oDIoAc7AeqpVmZvv3jIyy9cQyLlctMjcWX22UfYiE9BAWjwPHVNJS2ysA9NCg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/038-stale-base.bound b/samples/walk-publication/inputs/038-stale-base.bound new file mode 100644 index 0000000..4392288 --- /dev/null +++ b/samples/walk-publication/inputs/038-stale-base.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:0000000000000000000000000000000000000000000000000000000000000000 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:JSQ5RgolbgUP8DWCmutTBKgQ/xWsrBaO9+UQwslkup/ZPy1nrFDGlK8pzGOOlBQSSoyiunv4iTrnDfhwVXsXBA==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/039-left-payload.bound b/samples/walk-publication/inputs/039-left-payload.bound new file mode 100644 index 0000000..94e6f41 --- /dev/null +++ b/samples/walk-publication/inputs/039-left-payload.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/040-missing-earlier-prefix.bound b/samples/walk-publication/inputs/040-missing-earlier-prefix.bound new file mode 100644 index 0000000..1cdea1a --- /dev/null +++ b/samples/walk-publication/inputs/040-missing-earlier-prefix.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:61e776f3ca5781b9afc6e81d1d010813e472ead34ecab8a8de296909a08c24c2 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:aEpoCguywz1XFuNMHCcQflt5TPEkNbBsm8O+TaEXjsPB8XyNZ7tfcunJ7iYD2/wt+KVM8S/toIMGrjOLbWxxAQ==" value=sha256:de0eb6d00d35fd75eb83f3e8dddb25712a4f3be8afaf7df5eef74a1ff05af52e +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:61e776f3ca5781b9afc6e81d1d010813e472ead34ecab8a8de296909a08c24c2 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:GCvMorK3Y+JQ48LSfSFXaYDTwjeInIhvf7jM/YNJ356717u9XgO8KcMd9dQfAU9zWKzAg2y9lata6UGw5JUdAQ==" value=1..1 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:PkpwObWkMXZdUf8zASEnFXf8Hh9ULDkusq69PMLmnZ1+drMdfdeddbuDUijTYlmNySIixPMKswmrChVssSFXCg==" value=sha256:61e776f3ca5781b9afc6e81d1d010813e472ead34ecab8a8de296909a08c24c2 +bound-lock/1 at=policy:walk-fixture by=left epoch=3 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:KoVCUa79+EQvnN58TbZo2qr7nsifTuS+9aDI+doj/YteJVej00opsvWyKF1fGDYGG2VgHCvqNZ1xDuqOBW9zDA==" value=replaced diff --git a/samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound b/samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound new file mode 100644 index 0000000..2b74b06 --- /dev/null +++ b/samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound @@ -0,0 +1,5 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:EDalAG5MyemXPknFKpGTxaQeDleD2UPYkwgYBejO2J+0+sgObgpnz/i7/OOhWWfL+HE3ox+tZI2w+oMAD3KoDw==" value=sha256:8882f7f04665071bfd99eb1fc79496e4fbf6844837d174aff99005654b25ec60 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:8882f7f04665071bfd99eb1fc79496e4fbf6844837d174aff99005654b25ec60 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:5+erllUoohuWNtQmQXW9xgMQ1/sT3BjIYcmB/z1H3Vr36/uSDirMU/ao57k5VzoX/j+1Wu9IE2Kx2Gdhg8bUDg==" value=sha256:310f01c4ef26fcf68780047df6032f6ab3daac1f960b44457a692be47aefff66 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:8882f7f04665071bfd99eb1fc79496e4fbf6844837d174aff99005654b25ec60 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:AZyF0sd8SvF1fJ+pUji3SEq3Aklpj75g0jSEQuw8YyGscYYLjB0Kx+vzy1tvmeOISUlwzI6F3guo9C/HTzxHBg==" value=2..2 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/extra sig="ed25519:sample:yNVt9AB88scGA6ZQwA2JhvXij/Wcwswer6hs+sSE40F+OCR8OW55zXPyPlgqx/0zlZJdfHMW9JcFXu4TUi6wBg==" value=left diff --git a/samples/walk-publication/inputs/042-right-acknowledged.bound b/samples/walk-publication/inputs/042-right-acknowledged.bound new file mode 100644 index 0000000..14badcb --- /dev/null +++ b/samples/walk-publication/inputs/042-right-acknowledged.bound @@ -0,0 +1,3 @@ +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:YRYLWhisugOuSOqobRezNrxUVroeWGLap7WfPLsL2yhowGgOBIYT85klOAbI2orixS0e/KAXDNM4Hrh11AaEAg==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:s5PUOfoXGwe6gO9wFVC5Z86G4zLr+QLEbN6Qh1ib/JpyHJToGuXVrFkk4T/2ILrLfIGlRL927E+8FKDZdJSTBA==" value=sha256:ebeca5b18bcf73bf69f9a25ae0d712625beb9b5f89a717e9e2e27e2849bc9925 +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:aLc359xP5daI5gd9LapFDsLN4R4fg/5TgTGBTVDA4JY8deoXdI0E+CxcFgn476W5TKK+aDQUfwseZBT55ClGCg==" value=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a diff --git a/samples/walk-publication/inputs/043-no-payload.bound b/samples/walk-publication/inputs/043-no-payload.bound new file mode 100644 index 0000000..8ee8544 --- /dev/null +++ b/samples/walk-publication/inputs/043-no-payload.bound @@ -0,0 +1 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:dMnEZEblDhRy1vriwXwQXqKGquxC9L2aoquoqwZ6M3XNw24EVC/dqsnvzunK6aX6+nT7pmT/fTDdR8oWJt3SDw==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 diff --git a/samples/walk-publication/inputs/044-left-inventory.bound b/samples/walk-publication/inputs/044-left-inventory.bound new file mode 100644 index 0000000..4dd896a --- /dev/null +++ b/samples/walk-publication/inputs/044-left-inventory.bound @@ -0,0 +1,2 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:rOjBp/nWqVe4MKvqensaq82t/d3jQkBwG22zegoHxdCq9qbNHQUKKscc7tHuI0flAkjOityy3o2k3bFJoxv5Bg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 diff --git a/samples/walk-publication/inputs/045-right-payload.bound b/samples/walk-publication/inputs/045-right-payload.bound new file mode 100644 index 0000000..c1ba9ce --- /dev/null +++ b/samples/walk-publication/inputs/045-right-payload.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:aglBsHmGtORmC/wVE48bYUR8R4jIoIh8leXf+JirqXD5hNMRRuMc5HwuqiU0MZwNxm49e2YZDvSSLvhPqKWRBg==" value=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:wcJrKtPbUraX1PaY8+V1HVXABK52tIKFdfNndfshE8wi60dWq74bLYCYq3vxFj78QGtlFFDnjN9CCRQ7ndBlAw==" value=sha256:ebeca5b18bcf73bf69f9a25ae0d712625beb9b5f89a717e9e2e27e2849bc9925 +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:zFe6p9+ODMmPpnZfpDoQDB7rrvfsi9l38IF8cD/WVjOX9tq3W1P3DsberYOcGpwSKUAChEvGNPdG+fA0e+RKBA==" value=1..1 +bound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==" value=right diff --git a/samples/walk-publication/inputs/046-next-local.bound b/samples/walk-publication/inputs/046-next-local.bound new file mode 100644 index 0000000..4271257 --- /dev/null +++ b/samples/walk-publication/inputs/046-next-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/after value=local diff --git a/samples/walk-publication/inputs/047-alternate-origin-context.bound b/samples/walk-publication/inputs/047-alternate-origin-context.bound new file mode 100644 index 0000000..180da67 --- /dev/null +++ b/samples/walk-publication/inputs/047-alternate-origin-context.bound @@ -0,0 +1,25 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/048-select-alternate.bound b/samples/walk-publication/inputs/048-select-alternate.bound new file mode 100644 index 0000000..a25ffa1 --- /dev/null +++ b/samples/walk-publication/inputs/048-select-alternate.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/alternate value=sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 diff --git a/samples/walk-publication/inputs/049-undeclared-context-lineage.bound b/samples/walk-publication/inputs/049-undeclared-context-lineage.bound new file mode 100644 index 0000000..97da32b --- /dev/null +++ b/samples/walk-publication/inputs/049-undeclared-context-lineage.bound @@ -0,0 +1,4 @@ +bound-lock/1 at=receipt:sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:UqoXUWTA/SMc1l9PqkcCs+fJvibKtgjWUbI66KdO+343FdKJlaBuIiTxW01JfkhGWiGfJeNaQgepArhO9LsmDQ==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:RsOb4NX1AcH1oDwAF6rpPKblN79u1dN4SW8aM88kf4LQiwwnPMOEsZW5y3eQmNQKvFtJ+yhmlA6mXedgCKElDQ==" value=1..1 +bound-lock/1 at=receipt:sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:P3v0yPatHeb4aIJXf73LhVxdsbc0CSBktKxstY/MUSYdRvdodD7i3s+tpWPoZwTL/+GnRYHCtZspODLjcVgkCw==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/050-new-left-local.bound b/samples/walk-publication/inputs/050-new-left-local.bound new file mode 100644 index 0000000..0a3dd40 --- /dev/null +++ b/samples/walk-publication/inputs/050-new-left-local.bound @@ -0,0 +1 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/new value=next diff --git a/samples/walk-publication/inputs/051-right-final-inventory.bound b/samples/walk-publication/inputs/051-right-final-inventory.bound new file mode 100644 index 0000000..be1d4e4 --- /dev/null +++ b/samples/walk-publication/inputs/051-right-final-inventory.bound @@ -0,0 +1,3 @@ +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:OqBPfChDwsKDxbPK4eVM7u2zLLVS6Nkl+PZGgEkQzfGAT4F+va99L1lkbNC7XrYPBFeqjEb39qFxztFGDz2WDQ==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:ef/qTswHnjGgUiw8D3QR/fkWUrzR7yRobmt9MJPWA1Jh0HeWO+K8hS/rb8yfZhTb64/QbyBihbSzdeM0wuCAAw==" value=sha256:a2dff6d1f9bbc2e96d22090548aa40ef3b7f7ae34f933aba00507c8f101fd483 +bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=5 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:p0NkJV4l3W0oNsheMLUyW+tBx2aV1+Gkd/aatTBHU322WZbFPy9Twshmn/LXvbm084R0MUaisvw0UpOVRID9BQ==" value=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba diff --git a/samples/walk-publication/inputs/052-interruption-payload.bound b/samples/walk-publication/inputs/052-interruption-payload.bound new file mode 100644 index 0000000..1e312d4 --- /dev/null +++ b/samples/walk-publication/inputs/052-interruption-payload.bound @@ -0,0 +1,5 @@ +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba epoch=4 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:V9UyLtJysDawe9msjxemHH/G/fAzK0JrB4RCnJssGqAfseYDGowb0UapXPQ392t6xtq2kWBOeAS2k/IXEEU2Cw==" value=sha256:a2d269b81244e84a1484c9f4d2da3b1e98471589840a3ac8c0a6503e500e566c +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:a2d269b81244e84a1484c9f4d2da3b1e98471589840a3ac8c0a6503e500e566c epoch=4 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:FGOswVRUmu4prhIji75Jww6eVzfasqz3x45cNXLNM8VvRlg7qvOR7J0P+0hDxBWowY0GbO3zoo0DRq5MEKOhBw==" value=sha256:d9e66ee69f347d5a03bb4665917409d97444ae0452c21f9ac949780efded6111 +bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:a2d269b81244e84a1484c9f4d2da3b1e98471589840a3ac8c0a6503e500e566c epoch=4 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:BmpXriZp852RqtTUymQWIClRjSVjOZvTDy/49frxD9WvjfeUptici9acXyBLe+rnD/KZIt3sGwuhkko53YyACA==" value=2..2 +bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left +bound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig="ed25519:sample:tBx6dQN8lvtI0yrYNoF9kFELqZPOqorOmx4CHB8Zywqq2g9HVrOcEpvXcLeIZotW58h7Qhubebb+cgf0kP3KDw==" value=next diff --git a/samples/walk-publication/left-1/TARGET.bound b/samples/walk-publication/left-1/TARGET.bound new file mode 100644 index 0000000..fcc90c3 --- /dev/null +++ b/samples/walk-publication/left-1/TARGET.bound @@ -0,0 +1,32 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf role=writes scope=dep/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 role=writes scope=dep/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 role=writes scope=dep/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 value=sha256:9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca role=writes scope=dep/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca value=sha256:375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 role=writes scope=dep/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 value=sha256:a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 diff --git a/samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf b/samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf new file mode 100644 index 0000000..9d2497a --- /dev/null +++ b/samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca b/samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca new file mode 100644 index 0000000..c989a41 --- /dev/null +++ b/samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:5Q0WKzqchIgy6GNOBNPqm4R2vSUVAzN1V8tnllQIZy+OMWyDZFvGQvJ94+CHPeiIFuwmbj5EInGcoPw9UEbPBA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:LHdUsClQSa+hhiSG93YahGA38opioDR86838zISL6oRzfSv6cxOwI/ZLoR62L5ThC7YPR6M2GrPYTh9OxIuRAw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:hN1RLR2hG50ZrQo1nbXcfQqQO1dNhrxpH5V/eaquQrm7shh+OXYpJSIJ3k93EXuqva2h/Z9DhGljI3o+eO0qCQ==\" value=\"MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:hB6+s5BjMpDp1h1QqGmqVHMhTMpnyNBgBnJ1u+3q53dFhwlPAhhZqJwzO4B8xAke7DHWte0j8lVXc0VgBTUPCg==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:6IT5TO1ZJF/IyrI9yW/Bs0xDVWLpvqTh6YDsdZkEF83Yq5p7vpqhB4sO1Pc6RI0WRsaFlNGpxwlgAcuPEtnmDw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:HHNBLttSkvOM2HMGhB8BPTAKejzEEjPelzUsTA7fUfrwkHuhw8xWNxUOOX1+vz6qxnYcG97xpjvmtNBODgc4Dw==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:22SBWp07LwvMvmddo7KC95dQjA4uCiD1jFPVq4YcDc/yC6h+V4STA1QXItslYQeN8TaIAMVRs5k0MVi5DqtpAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:a5XK313xsDg5aNO0cr3/pT7HzKZeB3538iFmfOZWyPnrxGQwlaiBJPAktPgVJY8eUufbYtPWqflgLXDNfvYqAw==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:NkkXdVwOoIyceXPFXUA2Fo93x/OqNUrcqoq/YHghY3+RByqFSZwU44I79e+SDtVLIp/SAcC9l+FD0qFwAQXyAQ==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:o1HWLQDIPweIdDheqz/s5jG7VbkALnS+DJDEnKWNmMDGFA6iEIZanGteNz35dVo5g40J7SkMbmXIk2txv6UEBw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:iZGbkzViUgHyGnH08U4GovkplxaIGULUETgqDVhHgHVRwXQ4O6n3Y0IN4cvul/9x58XRlT40DKduxAdehUCDAw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:qSEAPs/oSYi9TFeeaJZ+q728xKzeq7ouo1dr89iUzE30msWvNT+pQRDdj4N53oynQqvU5snJafc1se7pWh0FBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:hP8TX1CIUlXDNg83oHRYuykETTcX17kqwGpoHfUcadydQx5AN7toyqVUkyzjWjkA0h3egeiCnhw4cH+CzZMiDA==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:eyyFlIfNkoA2Cg70vLgHC6Zp5xpVutfY77Pnchk8tr+IsSGsx0a/lk2dHPUbY7d2FSQvuaxAo5pBOqgBImI5DQ==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:SqQqf/xrfFWVEBPUv5/OLRH/0X3UEiLe8nH5jxQZ4ht9j1RiCIm5m9344mT6P/1A1tuF7+1/bZ9dOhZIDkYLBQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:a8c8roXliPTN9JQD3eNwvg/j4qqH2wtn/OdJdgldM4SrYbfAA6CdKHSp1ACXXUgL8yIROC1R6lqsIcdsVSDLDw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:bD4BosWFeWCza62K4GpIvWjk29pJrlZCN6gyKJnIAyO+9NMmNYskYVnP7/2twrwS4qbavkiEgHKCpmg0RQlnCg==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:EI3lneSTkl0YbPbvS0tSmqgHebBIq8jukNQzjqcrWhvQ8mb7+wckrIu8VOpVGf7wB1mJRSpHlyql9sHioLe4Bw==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:fVYhKlAqHal6olTZb3QU7EDVg/ZWmfMNaUAK2YNrO234Dg4eXQprzT8IQ8S3vWXTmDYQ6gT5F0dR0EVFESC8Bg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:2cIpe7PLMZR/Qa9GTJ7XwWbCWzt4bFwBL3mhrCo4lnWFOhEBI3vYWdGC+6dGNNXOojZraxwE+RnxFL2LcwwXCA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:X3p+dsQxKmC8Kv97qO+At84BmVNgattm3dhJtkpS0IyzqG5bl91sLJUCZq/iq2k1xM6lyInPlhS2lTDpEieWCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:DnGb5v/WihV2U4qtuvGdc8e/Br8miJGUcsXUSbE+b1nUDxH6Iy3Tw/euJBg+rxguYCAD+KKVHcBUUPsWVTWRDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Re4Dlkz5l7SgjaLrPN0znpBoD31CutQNRPUIpYH6y+nqmX57qX/n6gRyXnK6SAIrBCIVUnu3cLJrkQ8eU/dtDg==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:jgnKTB8pIKgi/RTH7LrMBKMsl1YmpK3YsOAbvPKpz/hKOYh7yHD9djSH2m7+IPRz4cJAaqjtseNFVxYxOTYGCQ==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:0r5zBV5MdSybtmj3FEh+bovkN7rkHXRloLlMMhf1UXIdNoYsPalwLggKo6C405vvSWQ8kIvrGi85iB9S99WZBA==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:yY1RooRot4ocslAyt3AvuaCdFofEQ1fBZkI5YJEELKbMzM+8QmI4xG/EZHqhhxgReF7OaEjJMuOxBAUHlSGGCg==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vgqZHd/5HgoZdB/FE94pWECneWxmOtplnRnDCBE+C0ArCuAeKuDuLgNvaLeP8ReESihdB++hvW81HGZW1dXNAQ==\" value=0|1|4|6|8\n","standing":28,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 b/samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 new file mode 100644 index 0000000..48053ff --- /dev/null +++ b/samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 b/samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 new file mode 100644 index 0000000..67f6485 --- /dev/null +++ b/samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:5Q0WKzqchIgy6GNOBNPqm4R2vSUVAzN1V8tnllQIZy+OMWyDZFvGQvJ94+CHPeiIFuwmbj5EInGcoPw9UEbPBA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:LHdUsClQSa+hhiSG93YahGA38opioDR86838zISL6oRzfSv6cxOwI/ZLoR62L5ThC7YPR6M2GrPYTh9OxIuRAw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:hN1RLR2hG50ZrQo1nbXcfQqQO1dNhrxpH5V/eaquQrm7shh+OXYpJSIJ3k93EXuqva2h/Z9DhGljI3o+eO0qCQ==\" value=\"MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:hB6+s5BjMpDp1h1QqGmqVHMhTMpnyNBgBnJ1u+3q53dFhwlPAhhZqJwzO4B8xAke7DHWte0j8lVXc0VgBTUPCg==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:6IT5TO1ZJF/IyrI9yW/Bs0xDVWLpvqTh6YDsdZkEF83Yq5p7vpqhB4sO1Pc6RI0WRsaFlNGpxwlgAcuPEtnmDw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:HHNBLttSkvOM2HMGhB8BPTAKejzEEjPelzUsTA7fUfrwkHuhw8xWNxUOOX1+vz6qxnYcG97xpjvmtNBODgc4Dw==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:22SBWp07LwvMvmddo7KC95dQjA4uCiD1jFPVq4YcDc/yC6h+V4STA1QXItslYQeN8TaIAMVRs5k0MVi5DqtpAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:a5XK313xsDg5aNO0cr3/pT7HzKZeB3538iFmfOZWyPnrxGQwlaiBJPAktPgVJY8eUufbYtPWqflgLXDNfvYqAw==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:NkkXdVwOoIyceXPFXUA2Fo93x/OqNUrcqoq/YHghY3+RByqFSZwU44I79e+SDtVLIp/SAcC9l+FD0qFwAQXyAQ==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:o1HWLQDIPweIdDheqz/s5jG7VbkALnS+DJDEnKWNmMDGFA6iEIZanGteNz35dVo5g40J7SkMbmXIk2txv6UEBw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:iZGbkzViUgHyGnH08U4GovkplxaIGULUETgqDVhHgHVRwXQ4O6n3Y0IN4cvul/9x58XRlT40DKduxAdehUCDAw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:qSEAPs/oSYi9TFeeaJZ+q728xKzeq7ouo1dr89iUzE30msWvNT+pQRDdj4N53oynQqvU5snJafc1se7pWh0FBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:hP8TX1CIUlXDNg83oHRYuykETTcX17kqwGpoHfUcadydQx5AN7toyqVUkyzjWjkA0h3egeiCnhw4cH+CzZMiDA==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:eyyFlIfNkoA2Cg70vLgHC6Zp5xpVutfY77Pnchk8tr+IsSGsx0a/lk2dHPUbY7d2FSQvuaxAo5pBOqgBImI5DQ==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:SqQqf/xrfFWVEBPUv5/OLRH/0X3UEiLe8nH5jxQZ4ht9j1RiCIm5m9344mT6P/1A1tuF7+1/bZ9dOhZIDkYLBQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:a8c8roXliPTN9JQD3eNwvg/j4qqH2wtn/OdJdgldM4SrYbfAA6CdKHSp1ACXXUgL8yIROC1R6lqsIcdsVSDLDw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:bD4BosWFeWCza62K4GpIvWjk29pJrlZCN6gyKJnIAyO+9NMmNYskYVnP7/2twrwS4qbavkiEgHKCpmg0RQlnCg==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:EI3lneSTkl0YbPbvS0tSmqgHebBIq8jukNQzjqcrWhvQ8mb7+wckrIu8VOpVGf7wB1mJRSpHlyql9sHioLe4Bw==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:fVYhKlAqHal6olTZb3QU7EDVg/ZWmfMNaUAK2YNrO234Dg4eXQprzT8IQ8S3vWXTmDYQ6gT5F0dR0EVFESC8Bg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:2cIpe7PLMZR/Qa9GTJ7XwWbCWzt4bFwBL3mhrCo4lnWFOhEBI3vYWdGC+6dGNNXOojZraxwE+RnxFL2LcwwXCA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:X3p+dsQxKmC8Kv97qO+At84BmVNgattm3dhJtkpS0IyzqG5bl91sLJUCZq/iq2k1xM6lyInPlhS2lTDpEieWCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:DnGb5v/WihV2U4qtuvGdc8e/Br8miJGUcsXUSbE+b1nUDxH6Iy3Tw/euJBg+rxguYCAD+KKVHcBUUPsWVTWRDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Re4Dlkz5l7SgjaLrPN0znpBoD31CutQNRPUIpYH6y+nqmX57qX/n6gRyXnK6SAIrBCIVUnu3cLJrkQ8eU/dtDg==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:jgnKTB8pIKgi/RTH7LrMBKMsl1YmpK3YsOAbvPKpz/hKOYh7yHD9djSH2m7+IPRz4cJAaqjtseNFVxYxOTYGCQ==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:0r5zBV5MdSybtmj3FEh+bovkN7rkHXRloLlMMhf1UXIdNoYsPalwLggKo6C405vvSWQ8kIvrGi85iB9S99WZBA==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:yY1RooRot4ocslAyt3AvuaCdFofEQ1fBZkI5YJEELKbMzM+8QmI4xG/EZHqhhxgReF7OaEjJMuOxBAUHlSGGCg==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vgqZHd/5HgoZdB/FE94pWECneWxmOtplnRnDCBE+C0ArCuAeKuDuLgNvaLeP8ReESihdB++hvW81HGZW1dXNAQ==\" value=0|1|4|6|8\n","standing":27,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 b/samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 new file mode 100644 index 0000000..54920b2 --- /dev/null +++ b/samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:5Q0WKzqchIgy6GNOBNPqm4R2vSUVAzN1V8tnllQIZy+OMWyDZFvGQvJ94+CHPeiIFuwmbj5EInGcoPw9UEbPBA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:LHdUsClQSa+hhiSG93YahGA38opioDR86838zISL6oRzfSv6cxOwI/ZLoR62L5ThC7YPR6M2GrPYTh9OxIuRAw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:hN1RLR2hG50ZrQo1nbXcfQqQO1dNhrxpH5V/eaquQrm7shh+OXYpJSIJ3k93EXuqva2h/Z9DhGljI3o+eO0qCQ==\" value=\"MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:hB6+s5BjMpDp1h1QqGmqVHMhTMpnyNBgBnJ1u+3q53dFhwlPAhhZqJwzO4B8xAke7DHWte0j8lVXc0VgBTUPCg==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:6IT5TO1ZJF/IyrI9yW/Bs0xDVWLpvqTh6YDsdZkEF83Yq5p7vpqhB4sO1Pc6RI0WRsaFlNGpxwlgAcuPEtnmDw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:HHNBLttSkvOM2HMGhB8BPTAKejzEEjPelzUsTA7fUfrwkHuhw8xWNxUOOX1+vz6qxnYcG97xpjvmtNBODgc4Dw==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig=\"ed25519:sample:7wIO3vRnI1l0mZrKq/mFcexpQMyJfK2sLMHCJGlWofJVIoNuy3oiQGNGLTiNVEXeqr74kMW2MqMKyJh+dm+qCw==\" value=next\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:22SBWp07LwvMvmddo7KC95dQjA4uCiD1jFPVq4YcDc/yC6h+V4STA1QXItslYQeN8TaIAMVRs5k0MVi5DqtpAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:a5XK313xsDg5aNO0cr3/pT7HzKZeB3538iFmfOZWyPnrxGQwlaiBJPAktPgVJY8eUufbYtPWqflgLXDNfvYqAw==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:NkkXdVwOoIyceXPFXUA2Fo93x/OqNUrcqoq/YHghY3+RByqFSZwU44I79e+SDtVLIp/SAcC9l+FD0qFwAQXyAQ==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:o1HWLQDIPweIdDheqz/s5jG7VbkALnS+DJDEnKWNmMDGFA6iEIZanGteNz35dVo5g40J7SkMbmXIk2txv6UEBw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:iZGbkzViUgHyGnH08U4GovkplxaIGULUETgqDVhHgHVRwXQ4O6n3Y0IN4cvul/9x58XRlT40DKduxAdehUCDAw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:qSEAPs/oSYi9TFeeaJZ+q728xKzeq7ouo1dr89iUzE30msWvNT+pQRDdj4N53oynQqvU5snJafc1se7pWh0FBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:hP8TX1CIUlXDNg83oHRYuykETTcX17kqwGpoHfUcadydQx5AN7toyqVUkyzjWjkA0h3egeiCnhw4cH+CzZMiDA==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:eyyFlIfNkoA2Cg70vLgHC6Zp5xpVutfY77Pnchk8tr+IsSGsx0a/lk2dHPUbY7d2FSQvuaxAo5pBOqgBImI5DQ==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:SqQqf/xrfFWVEBPUv5/OLRH/0X3UEiLe8nH5jxQZ4ht9j1RiCIm5m9344mT6P/1A1tuF7+1/bZ9dOhZIDkYLBQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:a8c8roXliPTN9JQD3eNwvg/j4qqH2wtn/OdJdgldM4SrYbfAA6CdKHSp1ACXXUgL8yIROC1R6lqsIcdsVSDLDw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:bD4BosWFeWCza62K4GpIvWjk29pJrlZCN6gyKJnIAyO+9NMmNYskYVnP7/2twrwS4qbavkiEgHKCpmg0RQlnCg==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:EI3lneSTkl0YbPbvS0tSmqgHebBIq8jukNQzjqcrWhvQ8mb7+wckrIu8VOpVGf7wB1mJRSpHlyql9sHioLe4Bw==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:fVYhKlAqHal6olTZb3QU7EDVg/ZWmfMNaUAK2YNrO234Dg4eXQprzT8IQ8S3vWXTmDYQ6gT5F0dR0EVFESC8Bg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:2cIpe7PLMZR/Qa9GTJ7XwWbCWzt4bFwBL3mhrCo4lnWFOhEBI3vYWdGC+6dGNNXOojZraxwE+RnxFL2LcwwXCA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:X3p+dsQxKmC8Kv97qO+At84BmVNgattm3dhJtkpS0IyzqG5bl91sLJUCZq/iq2k1xM6lyInPlhS2lTDpEieWCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:DnGb5v/WihV2U4qtuvGdc8e/Br8miJGUcsXUSbE+b1nUDxH6Iy3Tw/euJBg+rxguYCAD+KKVHcBUUPsWVTWRDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Re4Dlkz5l7SgjaLrPN0znpBoD31CutQNRPUIpYH6y+nqmX57qX/n6gRyXnK6SAIrBCIVUnu3cLJrkQ8eU/dtDg==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:jgnKTB8pIKgi/RTH7LrMBKMsl1YmpK3YsOAbvPKpz/hKOYh7yHD9djSH2m7+IPRz4cJAaqjtseNFVxYxOTYGCQ==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:0r5zBV5MdSybtmj3FEh+bovkN7rkHXRloLlMMhf1UXIdNoYsPalwLggKo6C405vvSWQ8kIvrGi85iB9S99WZBA==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:yY1RooRot4ocslAyt3AvuaCdFofEQ1fBZkI5YJEELKbMzM+8QmI4xG/EZHqhhxgReF7OaEjJMuOxBAUHlSGGCg==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vgqZHd/5HgoZdB/FE94pWECneWxmOtplnRnDCBE+C0ArCuAeKuDuLgNvaLeP8ReESihdB++hvW81HGZW1dXNAQ==\" value=0|1|4|6|8\n","standing":29,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-3/TARGET.bound b/samples/walk-publication/left-3/TARGET.bound new file mode 100644 index 0000000..2479be9 --- /dev/null +++ b/samples/walk-publication/left-3/TARGET.bound @@ -0,0 +1,32 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f role=writes scope=dep/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 role=writes scope=dep/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 role=writes scope=dep/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 value=sha256:beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc role=writes scope=dep/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc value=sha256:2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 role=writes scope=dep/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 value=sha256:62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 diff --git a/samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc b/samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc new file mode 100644 index 0000000..43fedae --- /dev/null +++ b/samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:95Gv/pDKEk16paIno26D0A9hTNliT95wJKCmXrdPaSx4PuNHQKlBFQU8iVqcU2pJxWzKgDFSjUYr+NEMlxo9AA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:q36F8DVH7FrozIKqlMgTUzbcMlwIxTMkY3Ha9/zoIRQZ9Vvn9q9YUym+8DgtB+z+42SPNoq31/eYwY13pDJrDg==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:rnBbJV+N0z9wbTV0gpay3xJBE//oHCNwSm3CtyMcAvMO1HvXv7AEW0bKwYrAoeK/ItB6B+8bC2a2LMFLibi5Bg==\" value=\"MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:2v+1AQAmyzxCG6akuTp6O50tdIrYpDxCkhUHf+wQzjMm2Fkbl6TkyK5Cyc/tnTwkNpSZkj3RKMh8KV3dQp7vAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:W7DcZmzJnR8htSgmJAuKjQ1UyqRf1/15bqG8KhMiOs78uOnshZcHM3nRCGC+7AxRWN68OJve27C4xrihJAVtDQ==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0uAhchzrS3TTqceZrEyGJTv+xAAobEnapKXLtWOcvU2V8BOPrlEaySP2aLE5eT4jfGtTQZHDW1/K2cYJCWk6Ag==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:1+hY2RPQrRCpbzZGHtF44aBZVnFo3/WPg3/DpEk9G3/CFPt+13Z2Qj8f1zhFojHtX0ZoX/sgBFWQ7RCY7LPfCw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aPTpJlH750YeEhmncWat+bvEi8A/2hXcAzm7BtS7fDBYzCQ3XVjSFiWwTRzvcQY54WZUjqGgAq6UU6oTaxCFAQ==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:btaYBcnQ5RWrBuzgo62NlPWpZT/s8JtFjU7QtBQDoOXbbHlfczWyuPKoyKRiJV9XOlGQpFZnaZh1vq28I2YhAg==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:5NZ2YQ3t4cUE1/V++1U2faIXhYQmR3jIq0og3cAM4Q14NB0ocNBKn9buk3IpPkmx0bRK8A54QG2Qs2CE6v42Bw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:I0l5jKCi+ie9uhYdgjfnBJHbTSGGepSWnzoPZ7pV9cCA8U+JMGtuPUDs+DGm9maRCKYQFJ2Nvb3l5P08XrzqAQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:9sHqjZBWMtf/Y+vt5r8Nb7IxWvrSH8JV/LitSXadpX1PyzAT5cKl+aJZnGhyN3qDuE6Dpnh8x2sTh9++/7r6DQ==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:+Mc0jq/W/a+GwyqgILloMAucbZL4YJTgpsN4YMXZlDD/AfA8uzFDZ0mcH7IpXnI+n+yuq8AZxDhq7QjCsCwUCQ==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:L5s3VFTTIfpadBYCGIQAW2pct6v2BR9J5xpLFgW4PV/QlrnYM2Q0zY2Svpy24yz5/A9WnpmpadW781usvuLRAA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:RZlvrGVc5mRlViom2t9algupC3Lm+Va5FB/ifxtbn9ZGcdKFzVU71JYGogMcZgw2xdW27lA18pobMjrUXj+8DA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Uu7GvDVIlGKtWQElyaOiQyUwQJvNuaOYcgYNROVb4hyQhCgCWm93JP0H1w9PI3Mn6il8imuW2+/FiQx4Y1UZBw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:qROnR420GedxI9E777pPWkMgI4vCnYABjgcmWSkWmpT5U2pgwgdTFkVSzWsNS5/ycqydtnObMkcO9tb7gDimBA==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZzxTCdudb2eatDjx6AdCAdfqNF1WimF3ky/yetFEGPY2Vy+s0rHwhccdGrA5KdvYcWr/l/ZNwPa/8XJ3AAG5Dg==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:ciK844tLr91mgxpsz4OqHp0EdpQNvmVLA3d+r6vXuQmN9YGSUoi3C2j3jOSlT0dimqfiEYHlY7cpBu7VWmN3AQ==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:WnbFPH/Ijv8SQJMbPTfdOrhhBuuALAPooANN4OoP9Lv3JP2dgXJEaOjzrks2giw+RCUFZTJr8CL6AvrxJlZ1CQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Jhno23V8Sf74BnCnI6P5Uvu2MN2sTdbyxYLVtmtLSDY6+LZfhei5NxsWCwlIRe2aC4f2rToA9rO5JLjfNWtQBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YVuRksu1OSv9rfSnTEwp6DUQMs16n+INeVDesAXwrD0fTLRpBHpgxibLtwgESqZHlQQeEMOO/6rWJfy2+FYnDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:/JpC4EkWeLZfS/oU/qnHWiwYwBbKzvQR1WUTLhgh0BUoh8SnwLFMG6+/qu2bjEoxOseOOimm1wb8Da2rxE1HAA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:8SaikJlUVowLAFhDxs0l2aiUVRV2v/9sqUFKkwdwppSsyB0Zi6HUrJ6FK11KwNZV0kwXFJeiPcSUPzX/kC5uAw==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:6A/RR42JZCI/e3vAcL0FmT++zhqXXUVo9Slkqd90JePMQM34jOWOnWA5fQFR8+RFnwRZyEBklSXR0TO60+JsCg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:L4Qif48bypD/8VOa6/bU1eq8/6wm4OainpugnUup1CMkGrPev5vbkeifG8WcPOdSLoRkVyY4mc5bWY8flUbPCw==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:rLmiUNnAkTrcCW0eDOtbe/ymSzEd3bZK7WDSR30A1pQYo99jYrRzmIjvayYb0LHf9msS0nodNnZyvPuXLwsNAQ==\" value=0|1|4|6|8\n","standing":28,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f b/samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f new file mode 100644 index 0000000..3d44d5f --- /dev/null +++ b/samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 b/samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 new file mode 100644 index 0000000..97fdb61 --- /dev/null +++ b/samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:95Gv/pDKEk16paIno26D0A9hTNliT95wJKCmXrdPaSx4PuNHQKlBFQU8iVqcU2pJxWzKgDFSjUYr+NEMlxo9AA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:q36F8DVH7FrozIKqlMgTUzbcMlwIxTMkY3Ha9/zoIRQZ9Vvn9q9YUym+8DgtB+z+42SPNoq31/eYwY13pDJrDg==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:rnBbJV+N0z9wbTV0gpay3xJBE//oHCNwSm3CtyMcAvMO1HvXv7AEW0bKwYrAoeK/ItB6B+8bC2a2LMFLibi5Bg==\" value=\"MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:2v+1AQAmyzxCG6akuTp6O50tdIrYpDxCkhUHf+wQzjMm2Fkbl6TkyK5Cyc/tnTwkNpSZkj3RKMh8KV3dQp7vAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:W7DcZmzJnR8htSgmJAuKjQ1UyqRf1/15bqG8KhMiOs78uOnshZcHM3nRCGC+7AxRWN68OJve27C4xrihJAVtDQ==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0uAhchzrS3TTqceZrEyGJTv+xAAobEnapKXLtWOcvU2V8BOPrlEaySP2aLE5eT4jfGtTQZHDW1/K2cYJCWk6Ag==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig=\"ed25519:sample:tBx6dQN8lvtI0yrYNoF9kFELqZPOqorOmx4CHB8Zywqq2g9HVrOcEpvXcLeIZotW58h7Qhubebb+cgf0kP3KDw==\" value=next\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:1+hY2RPQrRCpbzZGHtF44aBZVnFo3/WPg3/DpEk9G3/CFPt+13Z2Qj8f1zhFojHtX0ZoX/sgBFWQ7RCY7LPfCw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aPTpJlH750YeEhmncWat+bvEi8A/2hXcAzm7BtS7fDBYzCQ3XVjSFiWwTRzvcQY54WZUjqGgAq6UU6oTaxCFAQ==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:btaYBcnQ5RWrBuzgo62NlPWpZT/s8JtFjU7QtBQDoOXbbHlfczWyuPKoyKRiJV9XOlGQpFZnaZh1vq28I2YhAg==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:5NZ2YQ3t4cUE1/V++1U2faIXhYQmR3jIq0og3cAM4Q14NB0ocNBKn9buk3IpPkmx0bRK8A54QG2Qs2CE6v42Bw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:I0l5jKCi+ie9uhYdgjfnBJHbTSGGepSWnzoPZ7pV9cCA8U+JMGtuPUDs+DGm9maRCKYQFJ2Nvb3l5P08XrzqAQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:9sHqjZBWMtf/Y+vt5r8Nb7IxWvrSH8JV/LitSXadpX1PyzAT5cKl+aJZnGhyN3qDuE6Dpnh8x2sTh9++/7r6DQ==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:+Mc0jq/W/a+GwyqgILloMAucbZL4YJTgpsN4YMXZlDD/AfA8uzFDZ0mcH7IpXnI+n+yuq8AZxDhq7QjCsCwUCQ==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:L5s3VFTTIfpadBYCGIQAW2pct6v2BR9J5xpLFgW4PV/QlrnYM2Q0zY2Svpy24yz5/A9WnpmpadW781usvuLRAA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:RZlvrGVc5mRlViom2t9algupC3Lm+Va5FB/ifxtbn9ZGcdKFzVU71JYGogMcZgw2xdW27lA18pobMjrUXj+8DA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Uu7GvDVIlGKtWQElyaOiQyUwQJvNuaOYcgYNROVb4hyQhCgCWm93JP0H1w9PI3Mn6il8imuW2+/FiQx4Y1UZBw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:qROnR420GedxI9E777pPWkMgI4vCnYABjgcmWSkWmpT5U2pgwgdTFkVSzWsNS5/ycqydtnObMkcO9tb7gDimBA==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZzxTCdudb2eatDjx6AdCAdfqNF1WimF3ky/yetFEGPY2Vy+s0rHwhccdGrA5KdvYcWr/l/ZNwPa/8XJ3AAG5Dg==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:ciK844tLr91mgxpsz4OqHp0EdpQNvmVLA3d+r6vXuQmN9YGSUoi3C2j3jOSlT0dimqfiEYHlY7cpBu7VWmN3AQ==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:WnbFPH/Ijv8SQJMbPTfdOrhhBuuALAPooANN4OoP9Lv3JP2dgXJEaOjzrks2giw+RCUFZTJr8CL6AvrxJlZ1CQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Jhno23V8Sf74BnCnI6P5Uvu2MN2sTdbyxYLVtmtLSDY6+LZfhei5NxsWCwlIRe2aC4f2rToA9rO5JLjfNWtQBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YVuRksu1OSv9rfSnTEwp6DUQMs16n+INeVDesAXwrD0fTLRpBHpgxibLtwgESqZHlQQeEMOO/6rWJfy2+FYnDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:/JpC4EkWeLZfS/oU/qnHWiwYwBbKzvQR1WUTLhgh0BUoh8SnwLFMG6+/qu2bjEoxOseOOimm1wb8Da2rxE1HAA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:8SaikJlUVowLAFhDxs0l2aiUVRV2v/9sqUFKkwdwppSsyB0Zi6HUrJ6FK11KwNZV0kwXFJeiPcSUPzX/kC5uAw==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:6A/RR42JZCI/e3vAcL0FmT++zhqXXUVo9Slkqd90JePMQM34jOWOnWA5fQFR8+RFnwRZyEBklSXR0TO60+JsCg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:L4Qif48bypD/8VOa6/bU1eq8/6wm4OainpugnUup1CMkGrPev5vbkeifG8WcPOdSLoRkVyY4mc5bWY8flUbPCw==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:rLmiUNnAkTrcCW0eDOtbe/ymSzEd3bZK7WDSR30A1pQYo99jYrRzmIjvayYb0LHf9msS0nodNnZyvPuXLwsNAQ==\" value=0|1|4|6|8\n","standing":29,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 b/samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 new file mode 100644 index 0000000..0fbd7e0 --- /dev/null +++ b/samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 b/samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 new file mode 100644 index 0000000..f3d5a14 --- /dev/null +++ b/samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:95Gv/pDKEk16paIno26D0A9hTNliT95wJKCmXrdPaSx4PuNHQKlBFQU8iVqcU2pJxWzKgDFSjUYr+NEMlxo9AA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:q36F8DVH7FrozIKqlMgTUzbcMlwIxTMkY3Ha9/zoIRQZ9Vvn9q9YUym+8DgtB+z+42SPNoq31/eYwY13pDJrDg==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:rnBbJV+N0z9wbTV0gpay3xJBE//oHCNwSm3CtyMcAvMO1HvXv7AEW0bKwYrAoeK/ItB6B+8bC2a2LMFLibi5Bg==\" value=\"MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:2v+1AQAmyzxCG6akuTp6O50tdIrYpDxCkhUHf+wQzjMm2Fkbl6TkyK5Cyc/tnTwkNpSZkj3RKMh8KV3dQp7vAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:W7DcZmzJnR8htSgmJAuKjQ1UyqRf1/15bqG8KhMiOs78uOnshZcHM3nRCGC+7AxRWN68OJve27C4xrihJAVtDQ==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0uAhchzrS3TTqceZrEyGJTv+xAAobEnapKXLtWOcvU2V8BOPrlEaySP2aLE5eT4jfGtTQZHDW1/K2cYJCWk6Ag==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:1+hY2RPQrRCpbzZGHtF44aBZVnFo3/WPg3/DpEk9G3/CFPt+13Z2Qj8f1zhFojHtX0ZoX/sgBFWQ7RCY7LPfCw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aPTpJlH750YeEhmncWat+bvEi8A/2hXcAzm7BtS7fDBYzCQ3XVjSFiWwTRzvcQY54WZUjqGgAq6UU6oTaxCFAQ==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:btaYBcnQ5RWrBuzgo62NlPWpZT/s8JtFjU7QtBQDoOXbbHlfczWyuPKoyKRiJV9XOlGQpFZnaZh1vq28I2YhAg==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:5NZ2YQ3t4cUE1/V++1U2faIXhYQmR3jIq0og3cAM4Q14NB0ocNBKn9buk3IpPkmx0bRK8A54QG2Qs2CE6v42Bw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:I0l5jKCi+ie9uhYdgjfnBJHbTSGGepSWnzoPZ7pV9cCA8U+JMGtuPUDs+DGm9maRCKYQFJ2Nvb3l5P08XrzqAQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:9sHqjZBWMtf/Y+vt5r8Nb7IxWvrSH8JV/LitSXadpX1PyzAT5cKl+aJZnGhyN3qDuE6Dpnh8x2sTh9++/7r6DQ==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:+Mc0jq/W/a+GwyqgILloMAucbZL4YJTgpsN4YMXZlDD/AfA8uzFDZ0mcH7IpXnI+n+yuq8AZxDhq7QjCsCwUCQ==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:L5s3VFTTIfpadBYCGIQAW2pct6v2BR9J5xpLFgW4PV/QlrnYM2Q0zY2Svpy24yz5/A9WnpmpadW781usvuLRAA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:RZlvrGVc5mRlViom2t9algupC3Lm+Va5FB/ifxtbn9ZGcdKFzVU71JYGogMcZgw2xdW27lA18pobMjrUXj+8DA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Uu7GvDVIlGKtWQElyaOiQyUwQJvNuaOYcgYNROVb4hyQhCgCWm93JP0H1w9PI3Mn6il8imuW2+/FiQx4Y1UZBw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:qROnR420GedxI9E777pPWkMgI4vCnYABjgcmWSkWmpT5U2pgwgdTFkVSzWsNS5/ycqydtnObMkcO9tb7gDimBA==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZzxTCdudb2eatDjx6AdCAdfqNF1WimF3ky/yetFEGPY2Vy+s0rHwhccdGrA5KdvYcWr/l/ZNwPa/8XJ3AAG5Dg==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:ciK844tLr91mgxpsz4OqHp0EdpQNvmVLA3d+r6vXuQmN9YGSUoi3C2j3jOSlT0dimqfiEYHlY7cpBu7VWmN3AQ==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:WnbFPH/Ijv8SQJMbPTfdOrhhBuuALAPooANN4OoP9Lv3JP2dgXJEaOjzrks2giw+RCUFZTJr8CL6AvrxJlZ1CQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Jhno23V8Sf74BnCnI6P5Uvu2MN2sTdbyxYLVtmtLSDY6+LZfhei5NxsWCwlIRe2aC4f2rToA9rO5JLjfNWtQBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YVuRksu1OSv9rfSnTEwp6DUQMs16n+INeVDesAXwrD0fTLRpBHpgxibLtwgESqZHlQQeEMOO/6rWJfy2+FYnDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:/JpC4EkWeLZfS/oU/qnHWiwYwBbKzvQR1WUTLhgh0BUoh8SnwLFMG6+/qu2bjEoxOseOOimm1wb8Da2rxE1HAA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:8SaikJlUVowLAFhDxs0l2aiUVRV2v/9sqUFKkwdwppSsyB0Zi6HUrJ6FK11KwNZV0kwXFJeiPcSUPzX/kC5uAw==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:6A/RR42JZCI/e3vAcL0FmT++zhqXXUVo9Slkqd90JePMQM34jOWOnWA5fQFR8+RFnwRZyEBklSXR0TO60+JsCg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:L4Qif48bypD/8VOa6/bU1eq8/6wm4OainpugnUup1CMkGrPev5vbkeifG8WcPOdSLoRkVyY4mc5bWY8flUbPCw==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:rLmiUNnAkTrcCW0eDOtbe/ymSzEd3bZK7WDSR30A1pQYo99jYrRzmIjvayYb0LHf9msS0nodNnZyvPuXLwsNAQ==\" value=0|1|4|6|8\n","standing":27,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/TARGET.bound b/samples/walk-publication/right-2/TARGET.bound new file mode 100644 index 0000000..42ea2c0 --- /dev/null +++ b/samples/walk-publication/right-2/TARGET.bound @@ -0,0 +1,39 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/importer value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/importer value=receipts +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/importer value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/importer value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/importer value=waiting-command +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf role=writes scope=dep/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 role=writes scope=dep/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 value=sha256:489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 role=writes scope=dep/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c role=writes scope=dep/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c value=sha256:73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 role=writes scope=dep/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 value=sha256:727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a role=writes scope=dep/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a value=sha256:18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 role=writes scope=dep/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 value=sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 diff --git a/samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a b/samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a new file mode 100644 index 0000000..a37cf7e --- /dev/null +++ b/samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:TANhnkTXEd4E/Ol/M11VTUeAXuNjyFc5lAP04XT5OXIcD9Mfw+ZGJxOq1c91o4rcZNpJ8cfYhhzzyPKmdkVjAA==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=5 form=alphabet measure=digest role=writes scope=uses/alternate sig=\"ed25519:sample:xo/TYJUKvEyvM6HMikIZJKd9E0cuBwkmUOrIAwgp0Wn+jCN2u53Ww/8TmXo9YQcxLFzwkXbw9rr5Ad+uV3nUDw==\" value=sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 b/samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 new file mode 100644 index 0000000..dcfbff4 --- /dev/null +++ b/samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 @@ -0,0 +1,23 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf b/samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf new file mode 100644 index 0000000..9d2497a --- /dev/null +++ b/samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 b/samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 new file mode 100644 index 0000000..52b3ee5 --- /dev/null +++ b/samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":32,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 b/samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 new file mode 100644 index 0000000..48053ff --- /dev/null +++ b/samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 b/samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 new file mode 100644 index 0000000..e54357f --- /dev/null +++ b/samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:TANhnkTXEd4E/Ol/M11VTUeAXuNjyFc5lAP04XT5OXIcD9Mfw+ZGJxOq1c91o4rcZNpJ8cfYhhzzyPKmdkVjAA==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c b/samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c new file mode 100644 index 0000000..40dfecf --- /dev/null +++ b/samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":33,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/TARGET.bound b/samples/walk-publication/right-4/TARGET.bound new file mode 100644 index 0000000..aae84df --- /dev/null +++ b/samples/walk-publication/right-4/TARGET.bound @@ -0,0 +1,39 @@ +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/importer value=authorize +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/importer value=receipts +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/importer value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" +bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/importer value=1..16 +bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/importer value=waiting-command +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 role=writes scope=dep/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 value=sha256:22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f role=writes scope=dep/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 role=writes scope=dep/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 role=writes scope=dep/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 value=sha256:84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 role=writes scope=dep/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 value=sha256:1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 role=writes scope=dep/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 value=sha256:674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 +bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 role=writes scope=dep/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 value=sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 diff --git a/samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 b/samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 new file mode 100644 index 0000000..f33b3c1 --- /dev/null +++ b/samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:1NjlCptbTbdzije7iCQ/FTfXNZq7RERUits/S9OdWdCKc9NbzB1fEiVmCJJs4UZe2WJepdzTbIDy60K3iWNGCQ==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 b/samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 new file mode 100644 index 0000000..386f6fc --- /dev/null +++ b/samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":32,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f b/samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f new file mode 100644 index 0000000..3d44d5f --- /dev/null +++ b/samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 b/samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 new file mode 100644 index 0000000..0fbd7e0 --- /dev/null +++ b/samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 @@ -0,0 +1,22 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 b/samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 new file mode 100644 index 0000000..f110140 --- /dev/null +++ b/samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:1NjlCptbTbdzije7iCQ/FTfXNZq7RERUits/S9OdWdCKc9NbzB1fEiVmCJJs4UZe2WJepdzTbIDy60K3iWNGCQ==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=5 form=alphabet measure=digest role=writes scope=uses/alternate sig=\"ed25519:sample:Kr4fB/RbBQVeOV7IU1KgySujEExv0u6hwzfkZcehjIZ50cPJMdkhkPWoawHd5LUSzY+J2ojTzN2kt6m2l6qpDg==\" value=sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 b/samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 new file mode 100644 index 0000000..634bfc6 --- /dev/null +++ b/samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 @@ -0,0 +1 @@ +{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":33,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 b/samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 new file mode 100644 index 0000000..faaaaea --- /dev/null +++ b/samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 @@ -0,0 +1,23 @@ +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize +bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read +bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history +bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 +bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" +bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin +bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file +bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/src/cli/verb.ts b/src/cli/verb.ts index e04286d..1dc139e 100644 --- a/src/cli/verb.ts +++ b/src/cli/verb.ts @@ -6,6 +6,7 @@ import {cellsWithReceipts} from '../host/cell-receipts.ts'; import {renderCells} from '@lapxo/topos/cells-view'; import {releasePolicyLines} from '../fold/release-policy.ts'; import {admittedObjects} from '../host/objects.ts'; +import {historyInput} from '../host/history-input.ts'; import {objectFold} from '../fold/object.ts'; import {OBJECT_VIEW} from '@lapxo/topos/wire'; import {toposStanding} from '@lapxo/topos/standing'; @@ -229,7 +230,7 @@ async function view(root: string, under: string | undefined, asked: string, told const views = viewsOf(fold.standing); const cellsView = [...views.entries()].find(([, one]) => !one.shape && one.regions.some((region) => region.name === 'cells')); if (cellsView && name === cellsView[0]) { - const history=signedOwnerLines(storeOf(root)); + const history=historyInput(root,fold.standing,name,signedOwnerLines(storeOf(root))); const {objectHistory}=await import('@lapxo/topos/wire'); const parsed=objectHistory(history); if(parsed.kind!=='fact')throw Error(`REFUSE·wire ${parsed.why}`); @@ -387,6 +388,21 @@ function foldFile(at: string): number { } function foldVerb(root: string, rest: readonly string[]): number | Promise { + const targets = positionalsOf(rest); + const query = valueOf(rest, FLAGS.as)?.split('@')[0]; + if (query === undefined && targets.length > 1) + throw Error(`REFUSE·target ${targets.join(' ')} names more than one fold input`); + // A question's coordinate is not an input file. Every other positional must + // actually name an input; dropping one silently would fold a different place. + for (const target of targets) { + if (query === 'why' || query === NAMED_VIEWS.because) continue; + if (!existsSync(resolve(target))) throw Error(`REFUSE·target ${target} does not name an available place or .bound file`); + const stat = lstatSync(resolve(target)); + if (!stat.isDirectory() && (!stat.isFile() || !target.endsWith(EXTENSION))) + throw Error(`REFUSE·target ${target} is not a place or .bound file`); + if (stat.isDirectory() && !existsSync(join(resolve(target), LOCK))) + throw Error(`REFUSE·target ${target} holds no ${LOCK}`); + } const files = positionalsOf(rest).filter((one) => existsSync(resolve(one)) && !lstatSync(resolve(one)).isDirectory() && one.endsWith(EXTENSION)); const places = positionalsOf(rest).filter((one) => existsSync(resolve(one)) && lstatSync(resolve(one)).isDirectory()); if (files.length === 1 && !places.length && valueOf(rest, FLAGS.as) === undefined) { @@ -395,6 +411,10 @@ function foldVerb(root: string, rest: readonly string[]): number | Promise one !== under); + return foldAt(resolve(under), undefined, restAtPlace); + } // A prospective lot is data, not the place whose authority admits it. const tree = files.length ? root : resolve('.'); const place = under ? relative(tree, resolve(under)).split(sep).join('/') : ''; @@ -431,15 +451,21 @@ async function foldResolved(root: string, under: string | undefined, argv: reado if(as===OBJECT_VIEW){const inputs=positionalsOf(argv).filter(one=>existsSync(resolve(one))&&!lstatSync(resolve(one)).isDirectory());if(inputs.length>1)throw Error('REFUSE·object one history snapshot per fold');const history=inputs.length?claimLinesIn(inputs[0]!):signedOwnerLines(storeOf(root));const held=await admittedObjects(root,history,text=>process.stdout.write(text+'\n'));const cells=objectFold(held.records,held.context);for(const c of cells)process.stdout.write('CELL '+JSON.stringify(c)+'\n');process.stdout.write(`FACT object fold ${cells.length} cells\n`);return EXIT.closed;} const key = valueOf(argv, FLAGS.key); if (as === undefined) { + const published=releaseOf(storeOf(root)); + const declared=published?[...viewsOf(published).values()]:[]; + const inputView=declared.find(one=>!one.shape&&one.regions.some(region=>region.name==='cells')&&published!.some(line=>fieldOf(line,'scope')===`view/${one.name}`&&fieldOf(line,'needs')!=='')); + if(inputView&&declared.every(one=>!one.shape)&&!receiptCheck) + return view(root,under,inputView.name); const exit=await pass(root, entryOf(root), under, argv.includes(FLAGS.check)); if (receiptCheck) return exit; if(exit!==0)return exit; - const history=signedOwnerLines(storeOf(root)); + const local=signedOwnerLines(storeOf(root)); + const signedCells=[...viewsOf(lockStanding(storeOf(root))).values()].find(one=>!one.shape&&one.regions.some(region=>region.name==='cells')); + const history=signedCells?historyInput(root,lockStanding(storeOf(root)),signedCells.name,local):local; const {objectHistory}=await import('@lapxo/topos/wire'); const parsed=objectHistory(history); if(parsed.kind!=='fact')throw Error(`REFUSE·wire ${parsed.why}`); if(parsed.value.objects.length){ - const signedCells=[...viewsOf(history).values()].find(one=>!one.shape&&one.regions.some(region=>region.name==='cells')); if(!signedCells)throw Error('REFUSE·view object cells require a signed cells view'); return view(root,under,signedCells.name, [], undefined, undefined, false); } @@ -482,13 +508,12 @@ function main(argv: readonly string[]): number | Promise { const places = positionalsOf(run === undefined ? argv : argv.slice(1)).filter((one) => existsSync(resolve(one)) && lstatSync(resolve(one)).isDirectory()); if (run !== undefined) { const root=resolve(places[0] ?? '.'); - return withContentStore(storeOf(root),()=>run(root,argv.slice(1),argv)); + return withContentStore(storeOf(root),()=>run(root,argv.slice(1),argv),()=>standingOf(root).standing); } const under = argv[0] ?? ''; - if (under && !under.startsWith('-') && places.includes(under)) { + if (under && !under.startsWith('-')) { const root = resolve('.'); - const place = relative(root, resolve(under)).split(sep).join('/'); - return foldAt(root, place ? `${place}/` : undefined, argv); + return foldVerb(root, argv); } process.stderr.write(`${selfName()}: ${helpLines().join(' · ')}\n`); return EXIT.usage; diff --git a/src/fold/keys.ts b/src/fold/keys.ts index 1764d58..2f46762 100644 --- a/src/fold/keys.ts +++ b/src/fold/keys.ts @@ -80,8 +80,11 @@ export function releaseOf(store: string): readonly string[] | undefined { } function read(store: string, told: readonly string[] = []): Keys { - const said = [...ledgerKeyLines(store), ...releaseOf(store) ?? [], ...told] - .filter((line) => /\bsig=/.test(line) && /(?:^|\s)scope=keys\/[^/\s]+\s/.test(line)); + const delivered = [...ledgerKeyLines(store), ...told].filter(line => /\bsig=/.test(line)); + // Public locks declare local journal classes without delivery envelopes. + // This names journals; authority still verifies the admitted public keys. + const said = [...delivered, ...releaseOf(store) ?? []] + .filter((line) => /(?:^|\s)scope=keys\/[^/\s]+\s/.test(line)); const standing = foldClaims(said).standing.filter((line) => fieldOf(line, 'value') !== 'withdraw') .sort((a, b) => (Number(fieldOf(a, 'epoch')) || 0) - (Number(fieldOf(b, 'epoch')) || 0)); const idOf = (line: string): string => fieldOf(line, 'scope').slice('keys/'.length); diff --git a/src/fold/observed.ts b/src/fold/observed.ts index 0c90085..0819050 100644 --- a/src/fold/observed.ts +++ b/src/fold/observed.ts @@ -265,7 +265,7 @@ export function observedClaims(root: string, store: string, options: { readonly const projection = reader.capsule === undefined ? [] : (asked?.lines ?? []).filter(line=>fieldOf(line,'scope')===`region/${reader.capsule!.region}`&&fieldOf(line,'measure')==='input-projection'&&fieldOf(line,'value')!=='withdraw'); if(projection.length){ if(projection.length!==1||!asked)throw Error('REFUSE·input projection is ambiguous '+reader.module); - const files=[...new Set(reader.where.flatMap(where=>handedAt(root,reader,roleOf,look,where)))].sort().map(place=>({place,text:observeText(resolve(root,place))??''})); + const files=[...new Set(reader.where.flatMap(where=>handedAt(root,reader,roleOf,look,where)))].sort().map(place=>{const bytes=observeFile(resolve(root,place))??new Uint8Array();return {place,text:Buffer.from(bytes).toString('utf8'),bytes};}); const result=readingClosures({root,store,reader:reader.module,speaker,digest:text=>bytesDigest(store,Buffer.from(text)),capsule:asked,region:reader.capsule!.region,projection:fieldOf(projection[0]!,'value'),allowsEmpty:readerAllowsEmpty(standing.flatMap(line=>{const p=parseLifetime(line);return p.kind==='fact'?[p.value.fields]:[];}),reader.module),files,emit:line=>process.stderr.write(line+'\n')}); out.push(...result.lines);ran+=result.executed;read+=result.read-result.opened; return false; diff --git a/src/fold/signers.ts b/src/fold/signers.ts index c8cd52d..bf55f7a 100644 --- a/src/fold/signers.ts +++ b/src/fold/signers.ts @@ -3,7 +3,7 @@ import { authorityOf, isKeyClaim, parse, signersOf } from '@lapxo/topos/wire'; import type { Published, Signer, SignerVerdict } from '@lapxo/topos/wire'; import { verifiesFields } from '../land/sign.ts'; import { fieldOf, selfName } from './claims.ts'; -import { keyFor, lockStanding } from './keys.ts'; +import { keyFor, lockStanding, releaseOf } from './keys.ts'; import { storeRoot } from '../host/ports/store.ts'; import { storeOf } from '../land/ledger.ts'; import { observeText } from '../observe/files.ts'; @@ -62,6 +62,11 @@ export function releaseSigner(lines: readonly string[]): Signer { } export function rootSigner(root: string): { id: string; keyClass: 'authorize'; publicKey: string; coverage: string[]; depth: { lo: number; hi: number }; admittedBy: string[] } { + const published = releaseOf(storeOf(root)); + if (published) { + const signer = releaseSigner(published); + return {id:signer.id,keyClass:'authorize',publicKey:signer.publicKey,coverage:[...signer.coverage],depth:{lo:1,hi:16},admittedBy:[]}; + } const id = keyFor(storeOf(root), 'authorize'); return { id, keyClass: 'authorize', publicKey: publicKeyOf(root, id) ?? '', coverage: ['*'], depth: { lo: 1, hi: 16 }, admittedBy: [] }; } diff --git a/src/host/content-store.ts b/src/host/content-store.ts index aaa629b..9d1e849 100644 --- a/src/host/content-store.ts +++ b/src/host/content-store.ts @@ -5,6 +5,8 @@ import {observeFile} from '../observe/files.ts'; import {ownLock,ownStore} from '../observe/runner.ts'; import {parse,wireAt} from '@lapxo/topos/wire'; import {ContentNeeded} from './content-needed.ts'; +import {dirname,resolve,relative,isAbsolute} from 'node:path'; +import {realpathSync} from 'node:fs'; // Each invocation carries its place explicitly; asynchronous requests cannot share a mutable current root. const requested = new AsyncLocalStorage<{readonly store:string;readonly policy:()=>readonly string[]}>(); @@ -19,6 +21,19 @@ export function verifiedContent(digest:string, store:string = contentStore(), in if(!wire)throw Error('REFUSE·pin instrument has no admitted wire'); const split=digest.indexOf(':'),algorithm=digest.slice(0,split),hex=digest.slice(split+1); if(split<1||!wire.digests.has(algorithm)||! /^[a-f0-9]+$/.test(hex))throw Error(`REFUSE·pin ${digest} digest is not admitted`); + // A place may deliver an immutable artifact beside its lock. The coordinate + // locates bytes; the digest, never that path, identifies them. + for(const line of contentPolicy()) { + const p=parse(line);if(p.kind!=='fact')continue;const f=p.value.fields; + if(!f.scope?.startsWith('dep/')||f.value!==digest||!f.needs||f.needs.includes('|'))continue; + if(isAbsolute(f.needs)||f.needs.split('/').includes('..'))throw Error(`REFUSE·pin ${digest} artifact coordinate escapes the place`); + const root=dirname(store),path=resolve(root,f.needs),bytes=observeFile(path); + if(bytes===undefined)throw new ContentNeeded(digest); + const escaped=relative(realpathSync(root),realpathSync(path)); + if(escaped==='..'||escaped.startsWith('../')||isAbsolute(escaped))throw Error(`REFUSE·pin ${digest} artifact coordinate escapes the place`); + if(createHash(algorithm).update(bytes).digest('hex')!==hex)throw Error(`REFUSE·pin ${digest} content hash mismatch · coordinate ${f.needs} · not laid`); + return {bytes,path}; + } for(const at of new Set([store,instrument])) { const path=blobAt(at,digest),bytes=observeFile(path); if(bytes===undefined)continue; diff --git a/src/host/history-input.ts b/src/host/history-input.ts new file mode 100644 index 0000000..22bbaf4 --- /dev/null +++ b/src/host/history-input.ts @@ -0,0 +1,35 @@ +import {readFileSync,realpathSync} from 'node:fs'; +import {resolve,relative,isAbsolute} from 'node:path'; +import {parse,wireAt} from '@lapxo/topos/wire'; +import {bytesDigest} from './digest.ts'; +import {ownLock} from '../observe/runner.ts'; +import {fieldOf,isWire} from '../fold/claims.ts'; + +/** A native view can ask for an immutable signed history coordinate. + * The wire decodes it; delivery epochs and signatures are never reconstructed. + */ +export function historyInput(root:string,standing:readonly string[],view:string,local:readonly string[]):readonly string[]{ + const declarations=standing.filter(line=>fieldOf(line,'scope')===`view/${view}`&&fieldOf(line,'value')!=='withdraw'); + const inputs=[...new Set(declarations.flatMap(line=>fieldOf(line,'needs').split('|').filter(Boolean)))]; + if(!inputs.length)return local; + const wire=wireAt(ownLock().flatMap(line=>{const p=parse(line);return p.kind==='fact'?[p.value.fields]:[];}),Number.MAX_SAFE_INTEGER); + const algorithm=wire?.digests.values().next().value; + if(!algorithm)throw Error('REFUSE·history no admitted input digest algorithm'); + const pins=new Set(declarations.flatMap(line=>fieldOf(line,'restsOn').split('|').filter(Boolean))); + const history:string[]=[]; + for(const input of inputs){ + if(isAbsolute(input)||input.split('/').includes('..'))throw Error(`REFUSE·history ${input} escapes the place`); + const path=resolve(root,input); + let actual:string; + try{actual=realpathSync(path);}catch{throw Error(`REFUSE·history ${input} input is unavailable`);} + const escaped=relative(realpathSync(root),actual); + if(escaped==='..'||escaped.startsWith('../')||isAbsolute(escaped))throw Error(`REFUSE·history ${input} escapes the place`); + const bytes=readFileSync(path),digest=bytesDigest(bytes,algorithm); + if(!pins.has(digest))throw Error(`REFUSE·history ${input} input digest ${digest} is not named by view/${view}`); + for(const line of bytes.toString('utf8').split('\n').filter(Boolean)){ + if(!isWire(line)||parse(line).kind!=='fact')throw Error(`REFUSE·wire ${input} contains a non-wire history line`); + history.push(line); + } + } + return [...new Set([...local,...history])]; +} diff --git a/src/host/reading-closures.ts b/src/host/reading-closures.ts index 921898c..d2b73df 100644 --- a/src/host/reading-closures.ts +++ b/src/host/reading-closures.ts @@ -7,16 +7,19 @@ import {replaceWhole,landShard,shardLines} from '../land/ledger.ts'; import {fieldOf} from '../fold/claims.ts'; import {readOnly} from './read-only.ts'; -type File={readonly place:string;readonly text:string}; +type File={readonly place:string;readonly text:string;readonly bytes?:Uint8Array}; +const fileBytes=(file:File):Buffer=>Buffer.from(file.bytes??Buffer.from(file.text)); +const byteEncoded=(file:File):boolean=>!fileBytes(file).equals(Buffer.from(file.text)); +const semanticInput=(file:File):string=>byteEncoded(file)?'base64:'+fileBytes(file).toString('base64'):file.text; type Plan={scope:string;inputs:readonly string[];needs:readonly string[];resolution:number;line:string}; const fields=(line:string)=>{const got=parse(line);if(got.kind!=='fact')throw Error('REFUSE·input projection contains a non-wire line');return got.value.fields;}; -export const inputLines=(files:readonly File[]):readonly string[]=>files.map(file=>canonical({scope:file.place,form:'alphabet',measure:'text',role:'writes',value:'lock',shape:file.place,about:file.text,by:'host',at:'policy:handed-input'})); +export const inputLines=(files:readonly File[]):readonly string[]=>files.map(file=>canonical({scope:file.place,form:'alphabet',measure:byteEncoded(file)?'bytes':'text',role:'writes',value:byteEncoded(file)?'base64':'lock',shape:file.place,about:byteEncoded(file)?fileBytes(file).toString('base64'):file.text,by:'host',at:'policy:handed-input'})); /** The selected world owns input projection and reading. The host only verifies closures and keeps native count/bytes receipts. */ export function readingClosures(options:{root:string;store:string;reader:string;speaker:string;digest:(text:string)=>string;capsule:Capsule;region:string;projection:string;allowsEmpty?:boolean;files:readonly File[];emit?:(line:string)=>void}):{lines:readonly string[];read:number;opened:number;executed:number}{ const {root,store,reader,speaker,digest:hash,capsule,region,projection,files}=options,emit=options.emit??(()=>{}); - const algorithm=hash('').split(':')[0]!,handed=new Map(files.map(file=>[file.place,file.text])); + const algorithm=hash('').split(':')[0]!,handed=new Map(files.map(file=>[file.place,file])); if(handed.size!==files.length)throw Error('REFUSE·input projection has duplicate handed coordinates'); - const verify=()=>{for(const file of files)if(!readFileSync(join(root,file.place)).equals(Buffer.from(file.text)))throw Error('REFUSE·input changed '+file.place);}; + const verify=()=>{for(const file of files)if(!readFileSync(join(root,file.place)).equals(fileBytes(file)))throw Error('REFUSE·input changed '+file.place);}; verify(); const projected=capsule.ask([{protocol:PROTOCOL,verb:'render',rootScope:'',region:projection,at:1,reads:['**'],lines:inputLines(files),files:[]}])[0]; if(projected?.kind!=='fact'||!Array.isArray(projected.lines))throw Error('REFUSE·input projection '+(projected?.why??'no lines')); @@ -39,7 +42,7 @@ export function readingClosures(options:{root:string;store:string;reader:string; const load=(digest:string)=>{if(!digest.startsWith(algorithm+':')||! /^[a-f0-9]+$/.test(digest.split(':')[1]??''))return;const path=carried(digest);if(!existsSync(path))return;const text=readFileSync(path,'utf8');return hash(text)===digest?text:undefined;}; let read=0,opened=0,executed=0; for(const plan of ordered){actCosts.measure(()=>{ - const closure=[plan.line,canonical({scope:'implementation',role:'writes',form:'alphabet',measure:'digest',value:identity,by:'host',at:'policy:input-identity'}),...plan.inputs.map(input=>canonical({scope:input,role:'writes',form:'alphabet',measure:'digest',value:hash(handed.get(input)!),by:'host',at:'policy:input-identity'})),...plan.needs.map(need=>canonical({scope:need,role:'writes',form:'alphabet',measure:'digest',value:results.get(need)!.digest,by:'host',at:'policy:input-identity'}))].sort(byBytes).join('\n')+'\n'; + const closure=[plan.line,canonical({scope:'implementation',role:'writes',form:'alphabet',measure:'digest',value:identity,by:'host',at:'policy:input-identity'}),...plan.inputs.map(input=>canonical({scope:input,role:'writes',form:'alphabet',measure:'digest',value:hash(semanticInput(handed.get(input)!)),...(byteEncoded(handed.get(input)!)?{about:'input:base64'}:{}),by:'host',at:'policy:input-identity'})),...plan.needs.map(need=>canonical({scope:need,role:'writes',form:'alphabet',measure:'digest',value:results.get(need)!.digest,by:'host',at:'policy:input-identity'}))].sort(byBytes).join('\n')+'\n'; const input=hash(closure),scope='receipts/readings/'+hash(plan.scope).split(':')[1]+'/'+input.split(':')[1],matching=prior.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')==='bytes'&&fieldOf(line,'value')===input).at(-1); const count=matching&&prior.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')==='count'&&fieldOf(line,'by')===by).at(-1); const heldOutput=count&&load(fieldOf(count,'at').replace(/^place:/,'')); @@ -50,7 +53,7 @@ export function readingClosures(options:{root:string;store:string;reader:string; else { if(readOnly())throw Error('REFUSE·preview reading closure is unpaid '+plan.scope); const started=process.hrtime.bigint(); - const dependencies=plan.needs.flatMap(need=>results.get(need)!.lines),answer=capsule.ask([{protocol:PROTOCOL,verb:'read',rootScope:plan.scope,name:plan.scope,region,at:plan.resolution,reads:['**'],lines:[...inputLines(plan.inputs.map(place=>({place,text:handed.get(place)!}))),...dependencies],files:[]}])[0]; + const dependencies=plan.needs.flatMap(need=>results.get(need)!.lines),answer=capsule.ask([{protocol:PROTOCOL,verb:'read',rootScope:plan.scope,name:plan.scope,region,at:plan.resolution,reads:['**'],lines:[...inputLines(plan.inputs.map(place=>handed.get(place)!)),...dependencies],files:[]}])[0]; if(answer?.kind!=='fact'||!Array.isArray(answer.claims))throw Error('REFUSE·reading '+plan.scope+' · '+(answer?.why??'no claims')); lines=answer.claims.map((unknown:any)=>{if(typeof unknown?.scope!=='string'||typeof unknown?.measure!=='string'||typeof unknown?.role!=='string'||!unknown.bound||!['interval','enumerated'].includes(unknown.bound.kind))throw Error('REFUSE·reading malformed claim '+plan.scope);const span=unknown.bound;const text=canonical({scope:unknown.scope,measure:unknown.measure,role:unknown.role,form:span.kind==='interval'?'interval':'alphabet',value:span.kind==='interval'?`${span.lo}..${span.hi}`:Array.isArray(span.values)?span.values.join('|'):'',by,at:'place:'+input});fields(text);return text;}); if(!lines.length&&!options.allowsEmpty)throw Error('REFUSE·reading empty response is not admitted '+plan.scope); diff --git a/test/fold-target.test.ts b/test/fold-target.test.ts new file mode 100644 index 0000000..3174bcf --- /dev/null +++ b/test/fold-target.test.ts @@ -0,0 +1,26 @@ +import {test} from 'node:test'; +import {strictEqual,match,deepStrictEqual} from 'node:assert'; +import {mkdtempSync,writeFileSync,readdirSync,rmSync,mkdirSync} from 'node:fs'; +import {tmpdir} from 'node:os'; +import {join} from 'node:path'; +import {spawnSync} from 'node:child_process'; + +const reader=new URL('../src/cli/verb.ts',import.meta.url).pathname; +test('a named invalid fold input refuses without silently folding its containing place',()=>{ + for(const name of ['one','two']){ + const root=mkdtempSync(join(tmpdir(),'bound-fold-target-')); + try{ + writeFileSync(join(root,'TARGET.bound'),''); + writeFileSync(join(root,name+'.json'),'{}'); + mkdirSync(join(root,'empty')); + const before=readdirSync(root).sort(); + for(const args of [['fold',name+'.json'],['fold','missing.bound'],['fold','empty'],['empty'],[name+'.json'],['fold','.','.']]){ + const target=args.at(-1)!; + const got=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:10000}); + strictEqual(got.status,1,got.stderr);match(got.stderr,/REFUSE·target/); + match(got.stderr,new RegExp(target.replace('.','\\.'))); + strictEqual(got.stdout,'');deepStrictEqual(readdirSync(root).sort(),before); + } + }finally{rmSync(root,{recursive:true,force:true});} + } +}); diff --git a/test/formed-place.test.ts b/test/formed-place.test.ts new file mode 100644 index 0000000..9c3b2f1 --- /dev/null +++ b/test/formed-place.test.ts @@ -0,0 +1,33 @@ +import {test} from 'node:test'; +import {strictEqual,deepStrictEqual,match} from 'node:assert'; +import {mkdtempSync,cpSync,rmSync,readFileSync,writeFileSync,readdirSync} from 'node:fs'; +import {join} from 'node:path'; +import {tmpdir} from 'node:os'; +import {spawnSync} from 'node:child_process'; + +const reader=new URL('../src/cli/verb.ts',import.meta.url).pathname; +for(const name of ['typed','artifacts'])test(`formed ${name} place: native fold, verified inputs, no signer and receipt reuse`,()=>{ + const temp=mkdtempSync(join(tmpdir(),'bound-formed-')),root=join(temp,'place'); + try{ + cpSync(new URL(`../samples/${name}`,import.meta.url),root,{recursive:true}); + const target=readFileSync(join(root,'TARGET.bound'),'utf8'); + const run=()=>spawnSync(process.execPath,[reader,root],{cwd:temp,encoding:'utf8',timeout:15000}); + const first=run();strictEqual(first.status,0,first.stderr); + const cells=(text:string)=>text.split('\n').filter(l=>l.startsWith('CELL ')).map(l=>JSON.parse(l.slice(5))); + const output=cells(first.stdout);strictEqual(output.length,4);strictEqual(output.find(c=>c.cell==='C').state,'FREE'); + deepStrictEqual(output.find(c=>c.cell==='B').ownMarks,['s-B','j-B','r-B']); + strictEqual(readFileSync(join(root,'TARGET.bound'),'utf8'),target); + const second=run();strictEqual(second.status,0,second.stderr);deepStrictEqual(cells(second.stdout),output); + match(second.stdout,/RECEIPTS 4 read · 0 opened · idle · provider 0/); + strictEqual(readdirSync(root).some(f=>f.endsWith('.pem')),false); + const input=join(root,'fixtures/history.txt'),original=readFileSync(input); + writeFileSync(input,Buffer.concat([original,Buffer.from('\n')])); + const corrupted=run();strictEqual(corrupted.status,1);match(corrupted.stderr,/REFUSE·history fixtures\/history.txt input digest/); + writeFileSync(input,original); + const pin=target.split('\n').find(l=>l.includes('scope=uses/sample '))?.match(/value=sha256:([a-f0-9]+)/)?.[1]; + if(!pin)throw Error('sample has no selected standing'); + const artifact=join(root,'fixtures',pin); + writeFileSync(artifact,Buffer.concat([readFileSync(artifact),Buffer.from('\n')])); + const invalid=run();strictEqual(invalid.status,1);match(invalid.stderr,/REFUSE·pin .*content hash mismatch/); + }finally{rmSync(temp,{recursive:true,force:true});} +}); diff --git a/test/reading-closures.test.ts b/test/reading-closures.test.ts index 530d92a..c0442fe 100644 --- a/test/reading-closures.test.ts +++ b/test/reading-closures.test.ts @@ -34,3 +34,21 @@ test('empty readings follow the declared policy and retain native zero-row recei assert.throws(()=>read(false),/empty response is not admitted/);assert.equal(calls,2,'cached emptiness cannot override the policy'); }finally{rmSync(root,{recursive:true,force:true});} }); + +for(const name of ['payload.bin','resource.dat'])test('byte input identity preserves non-UTF8 bytes: '+name,()=>{ + const root=mkdtempSync(join(tmpdir(),'bound-byte-closure-')),store=join(root,'.bound'); + try { + let runs=0;const projection=canonical({scope:'resource',role:'reads',form:'alphabet',measure:'reads',value:name,at:'receipt:1',by:'world'}); + const capsule={digest:'sha256:'+'6'.repeat(64),declaration:{regions:{}},lines:[],ask:(requests:any[])=>requests.map(req=>{ + const input=req.lines.find((line:string)=>line.includes('shape='+name)); + assert.match(input,/measure=(bytes|text)/);assert.match(input,/value=(base64|lock)/); + if(req.verb==='render')return {protocol:PROTOCOL,kind:'fact',lines:[projection]}; + runs++;return {protocol:PROTOCOL,kind:'fact',claims:[{scope:'resource',role:'reads',measure:'count',bound:{kind:'interval',lo:1,hi:1}}]}; + })} as Capsule; + const read=()=>{const bytes=readFileSync(join(root,name));return readingClosures({root,store,reader:'reader',speaker:'reader',digest:text=>fullDigest(text,'sha256'),capsule,region:'reading',projection:'inputs',files:[{place:name,text:bytes.toString('utf8'),bytes}]});}; + writeFileSync(join(root,name),Buffer.from([0x80]));const first=read();assert.equal(first.opened,1);assert.equal(read().opened,0);assert.equal(runs,1); + writeFileSync(join(root,name),Buffer.from([0x81]));assert.equal(Buffer.from([0x80]).toString('utf8'),Buffer.from([0x81]).toString('utf8')); + const changed=read();assert.equal(changed.opened,1);assert.equal(runs,2);assert.notDeepEqual(first.lines,changed.lines); + writeFileSync(join(root,name),'base64:gQ==');const textual=read();assert.equal(textual.opened,1);assert.equal(runs,3);assert.notDeepEqual(changed.lines,textual.lines,'binary frame cannot collide with the same base64-prefixed literal text'); + }finally{rmSync(root,{recursive:true,force:true});} +}); diff --git a/vectors/archive-conformance.json b/vectors/archive-conformance.json index 69b99b3..cf5e6d9 100644 --- a/vectors/archive-conformance.json +++ b/vectors/archive-conformance.json @@ -1,47 +1,856 @@ { - "scope": "pipeline/archive-conformance", - "execution": "independent", + "scope": "archive/conformance", "measure": "count", "result": "failures", + "execution": "independent", "cases": [ { "program": "runtime", "args": [ - "tools/samples/run-archive.mjs", - "samples/yes/archive-conformance.json", - "samples/no/archive-conformance.json" + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" ], - "cwd": ".", - "timeoutMs": 15000, + "cwd": "samples/typed", + "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "ARCHIVE specimen-index" - }, - { - "stream": "stdout", - "pattern": "ARCHIVE route-notes" - }, + "pattern": "^CELL .*\"cell\":\"B\"", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/typed/TARGET.bound", + "samples/typed/artifacts.json", + "samples/typed/artifacts.vector.json", + "samples/typed/contract.json", + "samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed/fixtures/history.txt", + "samples/typed/no.json", + "samples/typed/range.vector.json", + "samples/typed/receipts.bound", + "samples/typed/wire.json", + "samples/typed/yes.json" + ], + "group": "case-0" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/typed-changed", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ { - "stream": "stdout", - "pattern": "members equal \u00b7 one archive, two destinations" - }, + "stream": "stderr", + "pattern": "REFUSE·pin.*content hash mismatch", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/typed-changed/TARGET.bound", + "samples/typed-changed/artifacts.json", + "samples/typed-changed/artifacts.vector.json", + "samples/typed-changed/contract.json", + "samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-changed/fixtures/history.txt", + "samples/typed-changed/no.json", + "samples/typed-changed/range.vector.json", + "samples/typed-changed/receipts.bound", + "samples/typed-changed/wire.json", + "samples/typed-changed/yes.json" + ], + "group": "case-1" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/artifacts", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE\u00b7artifact digest-mismatch" - }, + "pattern": "^CELL .*\"cell\":\"B\"", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/artifacts/TARGET.bound", + "samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", + "samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/artifacts/fixtures/history.txt", + "samples/artifacts/receipts.bound" + ], + "group": "case-2" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/artifacts-changed", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ { - "stream": "stdout", - "pattern": "ARTIFACT two unrelated places" + "stream": "stderr", + "pattern": "REFUSE·pin.*content hash mismatch", + "flags": "m" } ], "inputs": [ - "tools/samples/run-archive.mjs", - "samples/yes/archive-conformance.json", - "samples/no/archive-conformance.json" - ] + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/artifacts-changed/TARGET.bound", + "samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", + "samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/artifacts-changed/fixtures/history.txt", + "samples/artifacts-changed/receipts.bound" + ], + "group": "case-3" } - ] + ], + "workspace": { + "mutable": [ + "samples/typed/TARGET.bound", + "samples/typed/artifacts.json", + "samples/typed/artifacts.vector.json", + "samples/typed/contract.json", + "samples/typed/no.json", + "samples/typed/range.vector.json", + "samples/typed/receipts.bound", + "samples/typed/wire.json", + "samples/typed/yes.json", + "samples/typed-changed/TARGET.bound", + "samples/typed-changed/artifacts.json", + "samples/typed-changed/artifacts.vector.json", + "samples/typed-changed/contract.json", + "samples/typed-changed/no.json", + "samples/typed-changed/range.vector.json", + "samples/typed-changed/receipts.bound", + "samples/typed-changed/wire.json", + "samples/typed-changed/yes.json", + "samples/artifacts/TARGET.bound", + "samples/artifacts/receipts.bound", + "samples/artifacts-changed/TARGET.bound", + "samples/artifacts-changed/receipts.bound" + ] + } } diff --git a/vectors/attest-evidence.json b/vectors/attest-evidence.json deleted file mode 100644 index 814a408..0000000 --- a/vectors/attest-evidence.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "scope": "contract/published/attest-evidence-view", - "measure": "count", - "result": "failures", - "cases": [ - { - "program": "runtime", - "args": [ - "tools/samples/check-publication.mjs", - "evidence", - "samples/yes/attest-evidence.json", - "samples/no/attest-evidence.json" - ], - "cwd": ".", - "timeoutMs": 25000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "KEY-CLASS attest" - }, - { - "stream": "stdout", - "pattern": "REFUSE\u00b7signer south uncovered" - }, - { - "stream": "stdout", - "pattern": "REFUSE\u00b7signed" - }, - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "package.json", - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/typed/artifacts.json", - "samples/typed/artifacts.vector.json", - "samples/typed/contract.json", - "samples/typed/no.json", - "samples/typed/range.vector.json", - "samples/typed/wire.json", - "samples/typed/yes.json", - "samples/yes/attest-evidence.json", - "samples/no/attest-evidence.json", - "tools/samples/public-instrument.mjs", - "TARGET.bound", - "dist/host/act-cost.js" - ] - } - ] -} diff --git a/vectors/historical-build.json b/vectors/historical-build.json deleted file mode 100644 index 72a3b20..0000000 --- a/vectors/historical-build.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "scope": "historical-build/conformance", - "execution": "independent", - "measure": "count", - "result": "failures", - "cases": [ - { - "program": "runtime", - "args": [ - "tools/samples/check-publication.mjs", - "historical-build", - "samples/yes/historical-build.json", - "samples/no/historical-build.json" - ], - "cwd": ".", - "timeoutMs": 15000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "RENDERED tsconfig.json \u00b7 view/tsconfig" - }, - { - "stream": "stdout", - "pattern": "REFUSE\u00b7view view/unoffered" - }, - { - "stream": "stdout", - "pattern": "BUILD two places; exact configuration; two equal readings; unoffered view refused" - } - ], - "inputs": [ - "package.json", - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/historical-build-worker.mjs", - "tools/samples/historical-document-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/program-worker.mjs", - "tools/samples/prose-worker.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-historical-build.mjs", - "tools/samples/run-historical-document-views.mjs", - "tools/samples/run-program-views.mjs", - "tools/samples/run-prose-views.mjs", - "tools/samples/run-query-views.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/historical-build.json", - "samples/no/historical-build.json", - "tools/samples/public-instrument.mjs", - "TARGET.bound", - "dist/host/act-cost.js" - ] - } - ] -} diff --git a/vectors/historical-document-views.json b/vectors/historical-document-views.json index 59f3150..576c39a 100644 --- a/vectors/historical-document-views.json +++ b/vectors/historical-document-views.json @@ -7,59 +7,3091 @@ { "program": "runtime", "args": [ - "tools/samples/check-publication.mjs", - "historical-document-views", - "samples/yes/historical-document-views.json", - "samples/no/historical-document-views.json" + "../../dist/cli/verb.js", + "fold", + "--as", + "citation-file" ], - "cwd": ".", + "cwd": "samples/historical-document-views-1", "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "HISTORICAL citation, guide, reference; two places; two exact readings; unoffered view refused" - }, - { - "stream": "stdout", - "pattern": "RENDERED CITATION.cff \u00b7 view/citation-file" - }, - { - "stream": "stdout", - "pattern": "RENDERED docs/guide.md \u00b7 view/guide" - }, + "pattern": "^RENDERED CITATION\\.cff · view/citation-file · 6 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-0" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "guide" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "RENDERED docs/reference.md \u00b7 view/reference" - }, + "pattern": "^RENDERED docs/guide\\.md · view/guide · 4 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-1" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "reference" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE\u00b7view view/unoffered" - }, + "pattern": "^RENDERED docs/reference\\.md · view/reference · 11 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-2" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "tsconfig" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED tsconfig\\.json · view/tsconfig · 11 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-3" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "explanation" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED docs/why\\.md · view/explanation · 3 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-4" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "readme-historical" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED README\\.md · view/readme-historical · 9 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-5" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "unoffered" + ], + "cwd": "samples/historical-document-views-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/unoffered asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-2/CITATION.cff", + "samples/historical-document-views-2/README.md", + "samples/historical-document-views-2/TARGET.bound", + "samples/historical-document-views-2/docs/guide.md", + "samples/historical-document-views-2/docs/reference.md", + "samples/historical-document-views-2/docs/why.md", + "samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", + "samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-2/manifest.json", + "samples/historical-document-views-2/notes.md", + "samples/historical-document-views-2/process.yml", + "samples/historical-document-views-2/receipts.bound", + "samples/historical-document-views-2/tsconfig.json" + ], + "group": "case-6" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "disagreement" + ], + "cwd": "samples/historical-document-views-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·capsule sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 · text · Error: REFUSE·view conflicting prose names disagreement\\.txt" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-3/CITATION.cff", + "samples/historical-document-views-3/README.md", + "samples/historical-document-views-3/TARGET.bound", + "samples/historical-document-views-3/docs/guide.md", + "samples/historical-document-views-3/docs/reference.md", + "samples/historical-document-views-3/docs/why.md", + "samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", + "samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6", + "samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-3/manifest.json", + "samples/historical-document-views-3/notes.md", + "samples/historical-document-views-3/process.yml", + "samples/historical-document-views-3/receipts.bound", + "samples/historical-document-views-3/tsconfig.json" + ], + "group": "case-7" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "citation-file" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED CITATION\\.cff · view/citation-file · 6 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-8" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "guide" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED docs/guide\\.md · view/guide · 4 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-9" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "reference" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED docs/reference\\.md · view/reference · 11 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-10" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "tsconfig" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED tsconfig\\.json · view/tsconfig · 10 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-11" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "explanation" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED docs/why\\.md · view/explanation · 3 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-12" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "readme-historical" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED README\\.md · view/readme-historical · 9 lines\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-13" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "unoffered" + ], + "cwd": "samples/historical-document-views-5", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/unoffered asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-5/CITATION.cff", + "samples/historical-document-views-5/README.md", + "samples/historical-document-views-5/TARGET.bound", + "samples/historical-document-views-5/catalogue.json", + "samples/historical-document-views-5/catalogue.md", + "samples/historical-document-views-5/catalogue.yml", + "samples/historical-document-views-5/docs/guide.md", + "samples/historical-document-views-5/docs/reference.md", + "samples/historical-document-views-5/docs/why.md", + "samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", + "samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-5/receipts.bound", + "samples/historical-document-views-5/tsconfig.json" + ], + "group": "case-14" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "disagreement" + ], + "cwd": "samples/historical-document-views-6", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·capsule sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 · text · Error: REFUSE·view conflicting prose names disagreement\\.txt" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-6/CITATION.cff", + "samples/historical-document-views-6/README.md", + "samples/historical-document-views-6/TARGET.bound", + "samples/historical-document-views-6/catalogue.json", + "samples/historical-document-views-6/catalogue.md", + "samples/historical-document-views-6/catalogue.yml", + "samples/historical-document-views-6/docs/guide.md", + "samples/historical-document-views-6/docs/reference.md", + "samples/historical-document-views-6/docs/why.md", + "samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c", + "samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", + "samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-6/receipts.bound", + "samples/historical-document-views-6/tsconfig.json" + ], + "group": "case-15" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "manifest-render" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^RENDERED manifest\\.json · view/manifest-render · [0-9]+ lines\\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-16" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "usage-profile" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "RENDERED tsconfig.json \u00b7 view/tsconfig" - }, + "pattern": "^RENDERED notes\\.md · view/usage-profile · [0-9]+ lines\\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-17" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "release-workflow-render" + ], + "cwd": "samples/historical-document-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "RENDERED docs/why.md" - }, + "pattern": "^RENDERED process\\.yml · view/release-workflow-render · [0-9]+ lines\\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", + "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json" + ], + "group": "case-18" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "manifest-render" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "RENDERED README.md" - }, + "pattern": "^RENDERED catalogue\\.json · view/manifest-render · [0-9]+ lines\\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-19" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "usage-profile" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "9 renders \u00b7 9 same" - }, + "pattern": "^RENDERED catalogue\\.md · view/usage-profile · [0-9]+ lines\\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-20" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "release-workflow-render" + ], + "cwd": "samples/historical-document-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE\u00b7view conflicting prose" + "pattern": "^RENDERED catalogue\\.yml · view/release-workflow-render · [0-9]+ lines\\n$", + "flags": "m" } ], "inputs": [ - "package.json", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -105,6 +3137,7 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", + "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -116,6 +3149,7 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", + "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -127,6 +3161,7 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", + "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -162,29 +3197,96 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/historical-document-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/program-worker.mjs", - "tools/samples/prose-worker.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-historical-document-views.mjs", - "tools/samples/run-program-views.mjs", - "tools/samples/run-prose-views.mjs", - "tools/samples/run-query-views.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/historical-document-views.json", - "samples/no/historical-document-views.json", - "tools/samples/public-instrument.mjs", + "package.json", "TARGET.bound", - "dist/host/act-cost.js" - ] + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", + "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", + "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", + "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", + "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json" + ], + "group": "case-21" } - ] + ], + "workspace": { + "mutable": [ + "samples/historical-document-views-1/CITATION.cff", + "samples/historical-document-views-1/README.md", + "samples/historical-document-views-1/TARGET.bound", + "samples/historical-document-views-1/docs/guide.md", + "samples/historical-document-views-1/docs/reference.md", + "samples/historical-document-views-1/docs/why.md", + "samples/historical-document-views-1/manifest.json", + "samples/historical-document-views-1/notes.md", + "samples/historical-document-views-1/process.yml", + "samples/historical-document-views-1/receipts.bound", + "samples/historical-document-views-1/tsconfig.json", + "samples/historical-document-views-2/CITATION.cff", + "samples/historical-document-views-2/README.md", + "samples/historical-document-views-2/TARGET.bound", + "samples/historical-document-views-2/docs/guide.md", + "samples/historical-document-views-2/docs/reference.md", + "samples/historical-document-views-2/docs/why.md", + "samples/historical-document-views-2/manifest.json", + "samples/historical-document-views-2/notes.md", + "samples/historical-document-views-2/process.yml", + "samples/historical-document-views-2/receipts.bound", + "samples/historical-document-views-2/tsconfig.json", + "samples/historical-document-views-3/CITATION.cff", + "samples/historical-document-views-3/README.md", + "samples/historical-document-views-3/TARGET.bound", + "samples/historical-document-views-3/docs/guide.md", + "samples/historical-document-views-3/docs/reference.md", + "samples/historical-document-views-3/docs/why.md", + "samples/historical-document-views-3/manifest.json", + "samples/historical-document-views-3/notes.md", + "samples/historical-document-views-3/process.yml", + "samples/historical-document-views-3/receipts.bound", + "samples/historical-document-views-3/tsconfig.json", + "samples/historical-document-views-4/CITATION.cff", + "samples/historical-document-views-4/README.md", + "samples/historical-document-views-4/TARGET.bound", + "samples/historical-document-views-4/catalogue.json", + "samples/historical-document-views-4/catalogue.md", + "samples/historical-document-views-4/catalogue.yml", + "samples/historical-document-views-4/docs/guide.md", + "samples/historical-document-views-4/docs/reference.md", + "samples/historical-document-views-4/docs/why.md", + "samples/historical-document-views-4/receipts.bound", + "samples/historical-document-views-4/tsconfig.json", + "samples/historical-document-views-5/CITATION.cff", + "samples/historical-document-views-5/README.md", + "samples/historical-document-views-5/TARGET.bound", + "samples/historical-document-views-5/catalogue.json", + "samples/historical-document-views-5/catalogue.md", + "samples/historical-document-views-5/catalogue.yml", + "samples/historical-document-views-5/docs/guide.md", + "samples/historical-document-views-5/docs/reference.md", + "samples/historical-document-views-5/docs/why.md", + "samples/historical-document-views-5/receipts.bound", + "samples/historical-document-views-5/tsconfig.json", + "samples/historical-document-views-6/CITATION.cff", + "samples/historical-document-views-6/README.md", + "samples/historical-document-views-6/TARGET.bound", + "samples/historical-document-views-6/catalogue.json", + "samples/historical-document-views-6/catalogue.md", + "samples/historical-document-views-6/catalogue.yml", + "samples/historical-document-views-6/docs/guide.md", + "samples/historical-document-views-6/docs/reference.md", + "samples/historical-document-views-6/docs/why.md", + "samples/historical-document-views-6/receipts.bound", + "samples/historical-document-views-6/tsconfig.json" + ] + } } diff --git a/vectors/historical-presentation.json b/vectors/historical-presentation.json deleted file mode 100644 index 4ca12c5..0000000 --- a/vectors/historical-presentation.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "scope": "historical-presentation/conformance", - "execution": "independent", - "measure": "count", - "result": "failures", - "cases": [ - { - "program": "runtime", - "args": [ - "tools/samples/check-publication.mjs", - "historical-presentation", - "samples/yes/historical-presentation.json", - "samples/no/historical-presentation.json" - ], - "cwd": ".", - "timeoutMs": 15000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "RENDERED docs/why.md" - }, - { - "stream": "stdout", - "pattern": "RENDERED README.md" - }, - { - "stream": "stdout", - "pattern": "2 renders \u00b7 2 same" - }, - { - "stream": "stdout", - "pattern": "REFUSE\u00b7view view/unoffered" - }, - { - "stream": "stdout", - "pattern": "HISTORICAL explanation and README; two places; exact prose; absent evidence not invented; unoffered view refused" - } - ], - "inputs": [ - "package.json", - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/historical-build-worker.mjs", - "tools/samples/historical-document-worker.mjs", - "tools/samples/historical-presentation-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/program-worker.mjs", - "tools/samples/prose-worker.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-historical-build.mjs", - "tools/samples/run-historical-document-views.mjs", - "tools/samples/run-historical-presentation.mjs", - "tools/samples/run-program-views.mjs", - "tools/samples/run-prose-views.mjs", - "tools/samples/run-query-views.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/historical-presentation.json", - "samples/no/historical-presentation.json", - "tools/samples/public-instrument.mjs", - "TARGET.bound", - "dist/host/act-cost.js" - ] - } - ] -} diff --git a/vectors/native-views.json b/vectors/native-views.json index 9fa7665..6c0c62a 100644 --- a/vectors/native-views.json +++ b/vectors/native-views.json @@ -2,39 +2,503 @@ "scope": "native-views/conformance", "measure": "count", "result": "failures", + "execution": "independent", + "parameters": [ + "NATIVE_VIEWS_SIGNER_FILE_0", + "NATIVE_VIEWS_SIGNER_FILE_1", + "NATIVE_VIEWS_SIGNER_FILE_2", + "NATIVE_VIEWS_SIGNER_FILE_3", + "NATIVE_VIEWS_SIGNER_FILE_4", + "NATIVE_VIEWS_SIGNER_FILE_5", + "NATIVE_VIEWS_SIGNER_FILE_6", + "NATIVE_VIEWS_SIGNER_FILE_7", + "NATIVE_VIEWS_SIGNER_FILE_8", + "NATIVE_VIEWS_SIGNER_FILE_9", + "NATIVE_VIEWS_SIGNER_FILE_10", + "NATIVE_VIEWS_SIGNER_FILE_11" + ], + "workspace": { + "mutable": [ + "samples/native-views/place/TARGET.bound", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/receipts.bound", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/035-native-receipt.proposal" + ] + }, "cases": [ { "program": "runtime", "args": [ - "tools/samples/check-publication.mjs", - "native-views", - "samples/yes/native-views.json", - "samples/no/native-views.json" + "../../../dist/cli/verb.js", + "land", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_0}" ], - "cwd": ".", - "timeoutMs": 25000, + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "verbs fold land sign" - }, - { - "stream": "stdout", - "pattern": "scope=receipts .*measure=digest|measure=digest .*scope=receipts" - }, + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/001-north.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_0}" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE\u00b7view" - }, + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/002-north.proposal", + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/002-north.proposal" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "KEY-CLASS attest" + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" } ], "inputs": [ - "package.json", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -80,6 +544,7 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", + "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -91,6 +556,7 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", + "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -102,6 +568,7 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", + "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -137,23 +604,14600 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/native-views.json", - "samples/no/native-views.json", - "tools/samples/public-instrument.mjs", + "package.json", "TARGET.bound", - "dist/host/act-cost.js" - ] - } - ], - "execution": "independent" + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/003-south.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_1}" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/004-south.proposal", + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/004-south.proposal" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/005-alias.proposal", + "--key", + "alias", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_2}" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/006-alias.proposal", + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/006-alias.proposal" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/002-north.proposal" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:PASS +closed|readings · no encounters computed)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "lines" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "scope=sample/south" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "help" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "verbs fold land sign" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "receipts" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "not-provided-by-this-place" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/007-uncovered.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_1}" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/008-altered.bound" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/009-withdraw.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_0}" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "lines" + ], + "cwd": "samples/native-views/place-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "scope=sample/south" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_3}" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/010-north.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_3}" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/011-north.proposal", + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/011-north.proposal" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/012-south.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_4}" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/013-south.proposal", + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/013-south.proposal" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/014-alias.proposal", + "--key", + "alias", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_5}" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/015-alias.proposal", + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/015-alias.proposal" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/011-north.proposal" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "lines" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "scope=sample/south" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "help" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "verbs fold land sign" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "receipts" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "not-provided-by-this-place" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/016-uncovered.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_4}" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/017-altered.bound" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/018-withdraw.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_3}" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "lines" + ], + "cwd": "samples/native-views/place-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "scope=sample/south" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_6}" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/019-north.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_6}" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/020-north.proposal", + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/020-north.proposal" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/021-south.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_7}" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/022-south.proposal", + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/022-south.proposal" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/023-alias.proposal", + "--key", + "alias", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_8}" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/024-alias.proposal", + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/024-alias.proposal" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/020-north.proposal" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "lines" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "scope=sample/south" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "help" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "verbs fold land sign" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "receipts" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "not-provided-by-this-place" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/025-uncovered.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_7}" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/026-altered.bound" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/027-withdraw.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_6}" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "lines" + ], + "cwd": "samples/native-views/place-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "scope=sample/south" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-3" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_9}" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/028-north.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_9}" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/029-north.proposal", + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/029-north.proposal" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/030-south.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_10}" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/031-south.proposal", + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/031-south.proposal" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/032-alias.proposal", + "--key", + "alias", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_11}" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/033-alias.proposal", + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/033-alias.proposal" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/029-north.proposal" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "evidence" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=north .*scope=sample/north .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=south .*scope=sample/south .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=alias .*scope=sample/alias .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "receipts@0" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/034-native-receipt.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_10}" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "stdoutFile": "samples/native-views/inputs/035-native-receipt.proposal", + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/035-native-receipt.proposal" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/035-native-receipt.proposal" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "evidence" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=north .*scope=sample/north .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=south .*scope=sample/south .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=south .*scope=receipts .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=alias .*scope=sample/alias .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "help" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "verbs fold land sign" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "receipts" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "not-provided-by-this-place" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/036-uncovered.proposal", + "--key", + "south", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_10}" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/037-altered.bound" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/038-withdraw.proposal", + "--key", + "north", + "--key-file", + "${NATIVE_VIEWS_SIGNER_FILE_9}" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "lines" + ], + "cwd": "samples/native-views/place-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "bound-lock/1" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/native-views/inputs/001-north.proposal", + "samples/native-views/inputs/002-north.proposal", + "samples/native-views/inputs/003-south.proposal", + "samples/native-views/inputs/004-south.proposal", + "samples/native-views/inputs/005-alias.proposal", + "samples/native-views/inputs/006-alias.proposal", + "samples/native-views/inputs/007-uncovered.proposal", + "samples/native-views/inputs/008-altered.bound", + "samples/native-views/inputs/009-withdraw.proposal", + "samples/native-views/inputs/010-north.proposal", + "samples/native-views/inputs/011-north.proposal", + "samples/native-views/inputs/012-south.proposal", + "samples/native-views/inputs/013-south.proposal", + "samples/native-views/inputs/014-alias.proposal", + "samples/native-views/inputs/015-alias.proposal", + "samples/native-views/inputs/016-native-receipt.proposal", + "samples/native-views/inputs/016-uncovered.proposal", + "samples/native-views/inputs/017-altered.bound", + "samples/native-views/inputs/017-native-receipt.proposal", + "samples/native-views/inputs/018-uncovered.proposal", + "samples/native-views/inputs/018-withdraw.proposal", + "samples/native-views/inputs/019-altered.bound", + "samples/native-views/inputs/019-north.proposal", + "samples/native-views/inputs/020-north.proposal", + "samples/native-views/inputs/020-withdraw.proposal", + "samples/native-views/inputs/021-south.proposal", + "samples/native-views/inputs/022-south.proposal", + "samples/native-views/inputs/023-alias.proposal", + "samples/native-views/inputs/024-alias.proposal", + "samples/native-views/inputs/025-uncovered.proposal", + "samples/native-views/inputs/026-altered.bound", + "samples/native-views/inputs/027-withdraw.proposal", + "samples/native-views/inputs/028-north.proposal", + "samples/native-views/inputs/029-north.proposal", + "samples/native-views/inputs/030-south.proposal", + "samples/native-views/inputs/031-south.proposal", + "samples/native-views/inputs/032-alias.proposal", + "samples/native-views/inputs/033-alias.proposal", + "samples/native-views/inputs/034-native-receipt.proposal", + "samples/native-views/inputs/035-native-receipt.proposal", + "samples/native-views/inputs/036-uncovered.proposal", + "samples/native-views/inputs/037-altered.bound", + "samples/native-views/inputs/038-withdraw.proposal", + "samples/native-views/place/TARGET.bound", + "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", + "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", + "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", + "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", + "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", + "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", + "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", + "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", + "samples/native-views/place-1/TARGET.bound", + "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", + "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", + "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", + "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", + "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", + "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", + "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", + "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", + "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", + "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", + "samples/native-views/place-1/receipts.bound", + "samples/native-views/place-2/TARGET.bound", + "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", + "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", + "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", + "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", + "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", + "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", + "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", + "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", + "samples/native-views/place-2/receipts.bound", + "samples/native-views/place-3/TARGET.bound", + "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", + "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", + "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", + "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", + "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", + "samples/native-views/place-3/receipts.bound", + "samples/native-views/place-4/TARGET.bound", + "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", + "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", + "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", + "samples/native-views/place-4/receipts.bound" + ], + "group": "samples/native-views/place-4" + } + ] } diff --git a/vectors/process/cli-case.mjs b/vectors/process/cli-case.mjs index e0bb68b..722d8e0 100644 --- a/vectors/process/cli-case.mjs +++ b/vectors/process/cli-case.mjs @@ -12,7 +12,7 @@ try { writeFileSync(input, 'bound-lock/1 at=policy:fixture by=target form=alphabet measure=id role=writes scope=fixture value=present\n'); args = ['fold', input]; } else if (mode === 'check') args = ['fold', '--check']; - else if (mode === 'usage') args = ['unsupported-verb']; + else if (mode === 'usage') args = []; else throw new Error('Undeclared CLI case'); const result = spawnSync(process.execPath, [reader, ...args], { cwd: root, encoding: 'utf8', timeout: 15000 }); if (result.error || result.signal || result.status === null) throw result.error ?? new Error(result.signal ?? 'No process status'); diff --git a/vectors/program-views.json b/vectors/program-views.json index 42b7252..24c3c32 100644 --- a/vectors/program-views.json +++ b/vectors/program-views.json @@ -7,39 +7,964 @@ { "program": "runtime", "args": [ - "tools/samples/check-publication.mjs", - "program-views", - "samples/yes/program-views.json", - "samples/no/program-views.json" + "../../dist/cli/verb.js", + "fold", + "--as", + "programs" ], - "cwd": ".", + "cwd": "samples/program-views-1", "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "PROGRAM deadline=unread closed=false" - }, + "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/collect unread blocked=none missing=none unread=proof/collect carry=false\nDEMAND tasks/catalogue blocked blocked=tasks/collect missing=none unread=proof/catalogue carry=false\nNEXT tasks/collect\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/program-views-1/TARGET.bound", + "samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9", + "samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-1/receipts.bound" + ], + "group": "case-0" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "card" + ], + "cwd": "samples/program-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/collect unread blocked=none missing=none unread=proof/collect carry=false\nDEMAND tasks/catalogue blocked blocked=tasks/collect missing=none unread=proof/catalogue carry=false\nNEXT tasks/collect\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/program-views-1/TARGET.bound", + "samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9", + "samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-1/receipts.bound" + ], + "group": "case-1" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "programs" + ], + "cwd": "samples/program-views-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-status · Error: REFUSE·program dependency cycle tasks/catalogue" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/program-views-2/TARGET.bound", + "samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca", + "samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-2/receipts.bound" + ], + "group": "case-2" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "card" + ], + "cwd": "samples/program-views-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ { - "stream": "stdout", - "pattern": "DEMAND tasks/collect unread" - }, + "stream": "stderr", + "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-card · Error: REFUSE·program dependency cycle tasks/catalogue" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/program-views-2/TARGET.bound", + "samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca", + "samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-2/receipts.bound" + ], + "group": "case-3" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "programs" + ], + "cwd": "samples/program-views-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "DEMAND tasks/prepare unread" - }, + "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/prepare unread blocked=none missing=none unread=proof/prepare carry=false\nDEMAND tasks/transform blocked blocked=tasks/prepare missing=none unread=proof/transform carry=false\nNEXT tasks/prepare\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/program-views-3/TARGET.bound", + "samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c", + "samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-3/receipts.bound" + ], + "group": "case-4" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "card" + ], + "cwd": "samples/program-views-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE\u00b7program dependency cycle" - }, + "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/prepare unread blocked=none missing=none unread=proof/prepare carry=false\nDEMAND tasks/transform blocked blocked=tasks/prepare missing=none unread=proof/transform carry=false\nNEXT tasks/prepare\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/program-views-3/TARGET.bound", + "samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c", + "samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-3/receipts.bound" + ], + "group": "case-5" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "programs" + ], + "cwd": "samples/program-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ { - "stream": "stdout", - "pattern": "PROGRAMS two places; card and programs; two equal readings" + "stream": "stderr", + "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-status · Error: REFUSE·program dependency cycle tasks/prepare" } ], "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", "package.json", + "TARGET.bound", + "samples/program-views-4/TARGET.bound", + "samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f", + "samples/program-views-4/receipts.bound" + ], + "group": "case-6" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "card" + ], + "cwd": "samples/program-views-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-card · Error: REFUSE·program dependency cycle tasks/prepare" + } + ], + "inputs": [ "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -85,6 +1010,7 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", + "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -96,6 +1022,7 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", + "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -107,6 +1034,7 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", + "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -142,27 +1070,27 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-program-views.mjs", - "tools/samples/run-prose-views.mjs", - "tools/samples/run-query-views.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/program-views.json", - "samples/no/program-views.json", - "tools/samples/program-worker.mjs", - "tools/samples/prose-worker.mjs", - "tools/samples/public-instrument.mjs", + "package.json", "TARGET.bound", - "dist/host/act-cost.js" - ] + "samples/program-views-4/TARGET.bound", + "samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", + "samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", + "samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f", + "samples/program-views-4/receipts.bound" + ], + "group": "case-7" } - ] + ], + "workspace": { + "mutable": [ + "samples/program-views-1/TARGET.bound", + "samples/program-views-1/receipts.bound", + "samples/program-views-2/TARGET.bound", + "samples/program-views-2/receipts.bound", + "samples/program-views-3/TARGET.bound", + "samples/program-views-3/receipts.bound", + "samples/program-views-4/TARGET.bound", + "samples/program-views-4/receipts.bound" + ] + } } diff --git a/vectors/prose-views.json b/vectors/prose-views.json deleted file mode 100644 index b9f8972..0000000 --- a/vectors/prose-views.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "scope": "prose-views/conformance", - "measure": "count", - "result": "failures", - "cases": [ - { - "program": "runtime", - "args": [ - "tools/samples/check-publication.mjs", - "prose-views", - "samples/yes/prose-views.json", - "samples/no/prose-views.json" - ], - "cwd": ".", - "timeoutMs": 25000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "PROSE three named views; two places; two exact readings; disagreement refused" - }, - { - "stream": "stdout", - "pattern": "REFUSE\u00b7view conflicting prose" - } - ], - "inputs": [ - "package.json", - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-prose-views.mjs", - "tools/samples/run-query-views.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/prose-views.json", - "samples/no/prose-views.json", - "tools/samples/program-worker.mjs", - "tools/samples/prose-worker.mjs", - "tools/samples/public-instrument.mjs", - "TARGET.bound", - "dist/host/act-cost.js" - ] - } - ], - "execution": "independent" -} diff --git a/vectors/query-views.json b/vectors/query-views.json index 6e2e5cc..14f127b 100644 --- a/vectors/query-views.json +++ b/vectors/query-views.json @@ -6,35 +6,698 @@ { "program": "runtime", "args": [ - "tools/samples/check-publication.mjs", - "query-views", - "samples/yes/query-views.json", - "samples/no/query-views.json" + "../../dist/cli/verb.js", + "fold", + "source.txt", + "--as", + "why" ], - "cwd": ".", - "timeoutMs": 15000, + "cwd": "samples/query-views-1", + "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "WHY +sample/selection" - }, + "pattern": "^## why\n\n```\nWHY sample/selection · policy:query · source\n```\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/query-views-1/TARGET.bound", + "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", + "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", + "samples/query-views-1/receipts.bound", + "samples/query-views-1/source.txt" + ], + "group": "case-0" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "not-declared.txt", + "--as", + "why" + ], + "cwd": "samples/query-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "WHY +sample/package" - }, + "pattern": "^## why\n\n```\nOPEN not-declared\\.txt\n```\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/query-views-1/TARGET.bound", + "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", + "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", + "samples/query-views-1/receipts.bound", + "samples/query-views-1/source.txt" + ], + "group": "case-1" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "missing" + ], + "cwd": "samples/query-views-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/missing asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/query-views-1/TARGET.bound", + "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", + "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", + "samples/query-views-1/receipts.bound", + "samples/query-views-1/source.txt" + ], + "group": "case-2" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "release.txt", + "--as", + "why" + ], + "cwd": "samples/query-views-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "OPEN +not-declared.txt" - }, + "pattern": "^## why\n\n```\nWHY sample/package · policy:query · release\n```\n$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/query-views-2/TARGET.bound", + "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", + "samples/query-views-2/receipts.bound", + "samples/query-views-2/release.txt" + ], + "group": "case-3" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "not-declared.txt", + "--as", + "why" + ], + "cwd": "samples/query-views-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE\u00b7view" + "pattern": "^## why\n\n```\nOPEN not-declared\\.txt\n```\n$", + "flags": "m" } ], "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", "package.json", + "TARGET.bound", + "samples/query-views-2/TARGET.bound", + "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", + "samples/query-views-2/receipts.bound", + "samples/query-views-2/release.txt" + ], + "group": "case-4" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "missing" + ], + "cwd": "samples/query-views-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·view view/missing asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" + } + ], + "inputs": [ "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -80,6 +743,7 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", + "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -91,6 +755,7 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", + "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -102,6 +767,7 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", + "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -137,24 +803,25 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-query-views.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/query-views.json", - "samples/no/query-views.json", - "tools/samples/public-instrument.mjs", + "package.json", "TARGET.bound", - "dist/host/act-cost.js" - ] + "samples/query-views-2/TARGET.bound", + "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", + "samples/query-views-2/receipts.bound", + "samples/query-views-2/release.txt" + ], + "group": "case-5" } ], - "execution": "independent" + "execution": "independent", + "workspace": { + "mutable": [ + "samples/query-views-1/TARGET.bound", + "samples/query-views-1/receipts.bound", + "samples/query-views-1/source.txt", + "samples/query-views-2/TARGET.bound", + "samples/query-views-2/receipts.bound", + "samples/query-views-2/release.txt" + ] + } } diff --git a/vectors/signing-port.json b/vectors/signing-port.json index 062c3ea..84613cb 100644 --- a/vectors/signing-port.json +++ b/vectors/signing-port.json @@ -2,31 +2,371 @@ "scope": "signing-port/conformance", "measure": "count", "result": "failures", + "execution": "independent", + "parameters": [ + "SIGNING_PORT_SIGNER_REGISTRY_0", + "SIGNING_PORT_SIGNER_MATERIAL_0", + "SIGNING_PORT_SIGNER_FILE_2", + "SIGNING_PORT_SIGNER_REGISTRY_1", + "SIGNING_PORT_SIGNER_MATERIAL_1", + "SIGNING_PORT_SIGNER_REGISTRY_2", + "SIGNING_PORT_SIGNER_MATERIAL_2", + "SIGNING_PORT_SIGNER_REGISTRY_3", + "SIGNING_PORT_SIGNER_MATERIAL_3", + "SIGNING_PORT_SIGNER_REGISTRY_4", + "SIGNING_PORT_SIGNER_MATERIAL_4", + "SIGNING_PORT_SIGNER_REGISTRY_5", + "SIGNING_PORT_SIGNER_MATERIAL_5", + "SIGNING_PORT_SIGNER_REGISTRY_6", + "SIGNING_PORT_SIGNER_MATERIAL_6", + "SIGNING_PORT_SIGNER_REGISTRY_7", + "SIGNING_PORT_SIGNER_MATERIAL_7", + "SIGNING_PORT_SIGNER_REGISTRY_8", + "SIGNING_PORT_SIGNER_MATERIAL_8", + "SIGNING_PORT_SIGNER_REGISTRY_9", + "SIGNING_PORT_SIGNER_MATERIAL_9", + "SIGNING_PORT_SIGNER_REGISTRY_10", + "SIGNING_PORT_SIGNER_MATERIAL_10", + "SIGNING_PORT_SIGNER_REGISTRY_11", + "SIGNING_PORT_SIGNER_MATERIAL_11", + "SIGNING_PORT_SIGNER_REGISTRY_12", + "SIGNING_PORT_SIGNER_MATERIAL_12", + "SIGNING_PORT_SIGNER_REGISTRY_13", + "SIGNING_PORT_SIGNER_MATERIAL_13" + ], + "workspace": { + "mutable": [ + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/inputs/file-signature.proposal", + "samples/signing-port/inputs/002-signed.proposal" + ] + }, "cases": [ { "program": "runtime", "args": [ - "tools/samples/check-publication.mjs", - "signing", - "samples/yes/signing-port.json", - "samples/no/signing-port.json" + "../../../dist/cli/verb.js", + "land", + "--key", + "device", + "--key-file", + "${SIGNING_PORT_SIGNER_FILE_2}" ], - "cwd": ".", - "timeoutMs": 15000, + "cwd": "samples/signing-port/file-1", + "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "SIGNING file-command-equivalent; one invocation per lot; atomic refusals" - }, + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_0}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_0}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "device", + "--signer", + "local" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE" + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" } ], "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_1}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_1}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "--key", + "device", + "--key-file", + "${SIGNING_PORT_SIGNER_FILE_2}", + "../inputs/001-lot.proposal" + ], + "cwd": "samples/signing-port/file-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -72,6 +412,7 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", + "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -83,6 +424,7 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", + "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -94,6 +436,7 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", + "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -129,22 +472,1677 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/signing-port.json", - "samples/no/signing-port.json", - "tools/samples/public-instrument.mjs", + "package.json", "TARGET.bound", - "dist/host/act-cost.js" - ] - } - ], - "execution": "independent" + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_2}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_2}" + }, + "stdoutFile": "samples/signing-port/inputs/file-signature.proposal" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "--key", + "device", + "--signer", + "local", + "../inputs/001-lot.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_3}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_3}" + }, + "stdoutFile": "samples/signing-port/inputs/002-signed.proposal", + "stdoutEquals": "samples/signing-port/inputs/file-signature.proposal" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/002-signed.proposal" + ], + "cwd": "samples/signing-port/file-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_4}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_4}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/002-signed.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_5}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_5}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--signer", + "local" + ], + "cwd": "samples/signing-port/absent-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer device missing or conflicting keys/device" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_6}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_6}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "device", + "--signer", + "local", + "../inputs/003-lot.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer device command failed · status=7 · signal=none" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_7}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_7}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "device", + "--signer", + "local", + "../inputs/003-lot.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer device timeout · status=none · signal=SIGKILL" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_8}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_8}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "device", + "--signer", + "local", + "../inputs/003-lot.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer device invalid response" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_9}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_9}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "device", + "--signer", + "local", + "../inputs/003-lot.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer device invalid response" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_10}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_10}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "--signer", + "file", + "../inputs/003-lot.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·signer device CLI selection conflicts with declaration" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_11}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_11}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "--out", + "ignored", + "../inputs/003-lot.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 2, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·flag unknown option --out" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_12}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_12}" + } + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--signer", + "local", + "../inputs/004-invalid.proposal" + ], + "cwd": "samples/signing-port/command-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·wire batch `bound-lock/0` is a version this reader does not know · nothing signed or landed" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/signing-port/absent-3/TARGET.bound", + "samples/signing-port/command-2/TARGET.bound", + "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", + "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", + "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", + "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", + "samples/signing-port/file-1/TARGET.bound", + "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", + "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", + "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", + "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", + "samples/signing-port/inputs/001-lot.proposal", + "samples/signing-port/inputs/002-signed.proposal", + "samples/signing-port/inputs/003-lot.proposal", + "samples/signing-port/inputs/004-invalid.proposal", + "samples/signing-port/inputs/file-signature.proposal" + ], + "env": { + "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_13}", + "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_13}" + } + } + ] } diff --git a/vectors/typed-object.json b/vectors/typed-object.json index 5c143b5..a93945f 100644 --- a/vectors/typed-object.json +++ b/vectors/typed-object.json @@ -6,35 +6,1445 @@ { "program": "runtime", "args": [ - "tools/samples/check-publication.mjs", - "typed-object", - "samples/yes/typed-object.json", - "samples/no/typed-object.json" + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" ], - "cwd": ".", - "timeoutMs": 25000, + "cwd": "samples/typed-object-1", + "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "\"state\":\"FREE\"" + "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" }, { "stream": "stdout", - "pattern": "\"state\":\"FORBIDDEN\"" + "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FREE\",\"parts\":\\{\"floor\":\\{\"lo\":44,\"hi\":47\\},\"ceiling\":\\{\"lo\":44,\"hi\":47\\},\"origins\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"c-C\",\"origin\":\"ana\"\\},\\{\"id\":\"c-L\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\}\\]\\}$", + "flags": "m" }, { "stream": "stdout", - "pattern": "\"state\":\"CONFLICT\"" + "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" }, { "stream": "stdout", - "pattern": "NEGATIVE floor-local .*REFUSE" + "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" } ], "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/typed-object-1/TARGET.bound", + "samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-1/fixtures/history.txt", + "samples/typed-object-1/receipts.bound" + ], + "group": "case-0" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/typed-object-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":\\{\"floor\":\\{\"lo\":44,\"hi\":43\\},\"ceiling\":\\{\"lo\":44,\"hi\":43\\},\"origins\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\},\\{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":\\{\"lo\":40,\"hi\":43\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"c-C\",\"origin\":\"ana\"\\},\\{\"id\":\"c-L\",\"origin\":\"luis\"\\},\\{\"id\":\"disagreement\",\"origin\":\"ana\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\},\\{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":\\{\"lo\":40,\"hi\":43\\}\\}\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/typed-object-2/TARGET.bound", + "samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-2/fixtures/history.txt", + "samples/typed-object-2/receipts.bound" + ], + "group": "case-1" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/typed-object-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/typed-object-3/TARGET.bound", + "samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-3/fixtures/history.txt", + "samples/typed-object-3/receipts.bound" + ], + "group": "case-2" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/typed-object-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":\\{\"floor\":\\{\"lo\":65,\"hi\":75\\},\"ceiling\":\\{\"lo\":65,\"hi\":50\\},\"origins\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"outside-a\",\"origin\":\"ana\"\\},\\{\"id\":\"outside-b\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/typed-object-4/TARGET.bound", + "samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", + "samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", + "samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-4/fixtures/history.txt", + "samples/typed-object-4/receipts.bound" + ], + "group": "case-3" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/typed-object-5", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":\\{\"floor\":\\{\"lo\":65,\"hi\":75\\},\"ceiling\":\\{\"lo\":65,\"hi\":50\\},\"origins\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"outside-a\",\"origin\":\"ana\"\\},\\{\"id\":\"outside-b\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":\\{\"floor\":\\{\"lo\":60,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":60,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\"incompatible-floor\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":60,\"hi\":100\\},\"id\":\"incompatible-floor\",\"at\":14\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/typed-object-5/TARGET.bound", + "samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", + "samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", + "samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", + "samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", + "samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", + "samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-5/fixtures/history.txt", + "samples/typed-object-5/receipts.bound" + ], + "group": "case-4" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/typed-object-6", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":\\{\"floor\":\\{\"lo\":65,\"hi\":75\\},\"ceiling\":\\{\"lo\":65,\"hi\":50\\},\"origins\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"outside-a\",\"origin\":\"ana\"\\},\\{\"id\":\"outside-b\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":\\{\"floor\":\\{\"lo\":60,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":60,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\"incompatible-floor\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":60,\"hi\":100\\},\"id\":\"incompatible-floor\",\"at\":14\\}\\],\"claims\":\\[\\]\\}$", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", "package.json", + "TARGET.bound", + "samples/typed-object-6/TARGET.bound", + "samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", + "samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", + "samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", + "samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", + "samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", + "samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", + "samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", + "samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", + "samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", + "samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", + "samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4", + "samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-6/fixtures/history.txt", + "samples/typed-object-6/receipts.bound" + ], + "group": "case-5" + }, + { + "program": "runtime", + "args": [ + "../../dist/cli/verb.js", + "fold", + "--as", + "cells" + ], + "cwd": "samples/typed-object-7", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·wire a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens" + } + ], + "inputs": [ "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -80,6 +1490,7 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", + "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -91,6 +1502,7 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", + "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -102,6 +1514,7 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", + "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -137,28 +1550,123 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "tools/samples/check-publication.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/typed/artifacts.json", - "samples/typed/artifacts.vector.json", - "samples/typed/contract.json", - "samples/typed/no.json", - "samples/typed/range.vector.json", - "samples/typed/wire.json", - "samples/typed/yes.json", - "samples/yes/typed-object.json", - "samples/no/typed-object.json", - "tools/samples/public-instrument.mjs", + "package.json", "TARGET.bound", - "dist/host/act-cost.js" - ] + "samples/typed-object-7/TARGET.bound", + "samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", + "samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", + "samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", + "samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", + "samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", + "samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", + "samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", + "samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", + "samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", + "samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", + "samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", + "samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", + "samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", + "samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", + "samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", + "samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", + "samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", + "samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", + "samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", + "samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", + "samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", + "samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", + "samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", + "samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", + "samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", + "samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", + "samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15", + "samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", + "samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", + "samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", + "samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", + "samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", + "samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", + "samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", + "samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", + "samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", + "samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", + "samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", + "samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", + "samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", + "samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", + "samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", + "samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", + "samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", + "samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", + "samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", + "samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", + "samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", + "samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", + "samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", + "samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", + "samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", + "samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", + "samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", + "samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", + "samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", + "samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", + "samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", + "samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", + "samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", + "samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", + "samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", + "samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", + "samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", + "samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", + "samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", + "samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", + "samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", + "samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", + "samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", + "samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", + "samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", + "samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", + "samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", + "samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", + "samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", + "samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", + "samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", + "samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", + "samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", + "samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", + "samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", + "samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", + "samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", + "samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", + "samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", + "samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", + "samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", + "samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", + "samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", + "samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", + "samples/typed-object-7/fixtures/history.txt", + "samples/typed-object-7/receipts.bound" + ], + "group": "case-6" } ], - "execution": "independent" + "execution": "independent", + "workspace": { + "mutable": [ + "samples/typed-object-1/TARGET.bound", + "samples/typed-object-1/receipts.bound", + "samples/typed-object-2/TARGET.bound", + "samples/typed-object-2/receipts.bound", + "samples/typed-object-3/TARGET.bound", + "samples/typed-object-3/receipts.bound", + "samples/typed-object-4/TARGET.bound", + "samples/typed-object-4/receipts.bound", + "samples/typed-object-5/TARGET.bound", + "samples/typed-object-5/receipts.bound", + "samples/typed-object-6/TARGET.bound", + "samples/typed-object-6/receipts.bound", + "samples/typed-object-7/TARGET.bound", + "samples/typed-object-7/receipts.bound" + ] + } } diff --git a/vectors/walk-publication.json b/vectors/walk-publication.json index b63e3f7..5582250 100644 --- a/vectors/walk-publication.json +++ b/vectors/walk-publication.json @@ -1,48 +1,486 @@ { "scope": "walk/conformance", - "execution": "independent", "measure": "count", "result": "failures", + "execution": "independent", + "parameters": [ + "WALK_PUBLICATION_SIGNER_FILE_0", + "WALK_PUBLICATION_SIGNER_FILE_1", + "WALK_PUBLICATION_SIGNER_FILE_2", + "WALK_PUBLICATION_SIGNER_FILE_3" + ], + "workspace": { + "mutable": [ + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound" + ] + }, "cases": [ { "program": "runtime", "args": [ - "tools/samples/check-walk-publication.mjs", - "samples/yes/walk.json", - "samples/no/walk.json" + "../../../dist/cli/verb.js", + "land", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" ], - "cwd": ".", + "cwd": "samples/walk-publication/left-1", "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "PLACE measurement" - }, - { - "stream": "stdout", - "pattern": "PLACE artifact" - }, - { - "stream": "stdout", - "pattern": "EXCHANGE [0-9]+ payload bytes" - }, - { - "stream": "stdout", - "pattern": "INGRESS [0-9]+ new evidence lines" - }, + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "ONCE 0 new evidence lines" - }, + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ { "stream": "stdout", - "pattern": "REFUSE\u00b7walk" + "pattern": "EXCHANGE" } ], "inputs": [ - "TARGET.bound", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -88,6 +526,7 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", + "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -99,6 +538,7 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", + "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -110,6 +550,7 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", + "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -146,36 +587,16888 @@ "dist/render/target.js", "dist/render/view.js", "package.json", - "samples/walk/no.json", - "samples/walk/yes.json", - "tools/samples/check-publication.mjs", - "tools/samples/check-walk-publication.mjs", - "tools/samples/evidence-worker.mjs", - "tools/samples/historical-build-worker.mjs", - "tools/samples/historical-document-worker.mjs", - "tools/samples/historical-presentation-worker.mjs", - "tools/samples/module-closure.mjs", - "tools/samples/program-worker.mjs", - "tools/samples/prose-worker.mjs", - "tools/samples/public-instrument.mjs", - "tools/samples/run-evidence.mjs", - "tools/samples/run-historical-build.mjs", - "tools/samples/run-historical-document-views.mjs", - "tools/samples/run-historical-presentation.mjs", - "tools/samples/run-program-views.mjs", - "tools/samples/run-prose-views.mjs", - "tools/samples/run-query-views.mjs", - "tools/samples/run-signing.mjs", - "tools/samples/run-typed-walk.mjs", - "tools/samples/run-typed.mjs", - "tools/samples/run-walk-refinement.mjs", - "tools/samples/run-walk.mjs", - "tools/samples/typed-provider.mjs", - "samples/yes/walk.json", - "samples/no/walk.json", - "tools/samples/walk-sample-worker.mjs", - "dist/host/act-cost.js" - ] + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/005-left-local.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/006-right-local.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/007-right-inventory.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@1", + "../inputs/007-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@4", + "../inputs/007-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/009-partial-payload.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@6", + "../inputs/007-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/007-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/013-left-payload.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/008-altered.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk region digest or count mismatch receipts/left-ledger/sample" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/009-partial-payload.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk partial or extra payload" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/010-outside-prefix.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk foreign epoch is outside the authenticated prefix" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/011-unauthorized-prefix.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk metadata is not authenticated" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/012-stale-base.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk stale receiver base" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@2", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk undeclared or ambiguous resolution" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/013-left-payload.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/013-left-payload.bound" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/014-missing-earlier-prefix.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk foreign history is not an extension of its verified prefix" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/015-inserted-at-verified-epoch.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk foreign epoch does not match the verified prefix" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/016-right-acknowledged.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/016-right-acknowledged.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/017-no-payload.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/017-no-payload.bound" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/018-left-inventory.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/018-left-inventory.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/019-right-payload.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/019-right-payload.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "evidence" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=right .*scope=sample/measurement .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=right .*scope=receipts .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=left .*scope=sample/measurement .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/020-next-local.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/020-next-local.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/013-left-payload.bound" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "../inputs/021-alternate-origin-context.bound" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:PASS +closed|readings · no encounters computed)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/022-select-alternate.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/023-undeclared-context-lineage.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk origin context changed without declared lineage" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/024-new-left-local.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_1}" + ], + "cwd": "samples/walk-publication/right-2", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/025-right-final-inventory.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/025-right-final-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_0}" + ], + "cwd": "samples/walk-publication/left-1", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/026-interruption-payload.bound", + "group": "pair-1" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/031-left-local.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/032-right-local.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/033-right-inventory.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@1", + "../inputs/033-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@4", + "../inputs/033-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/035-partial-payload.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@6", + "../inputs/033-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/033-right-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/039-left-payload.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/034-altered.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk region digest or count mismatch receipts/left-ledger/sample" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/035-partial-payload.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk partial or extra payload" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/036-outside-prefix.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk foreign epoch is outside the authenticated prefix" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/037-unauthorized-prefix.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk metadata is not authenticated" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/038-stale-base.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk stale receiver base" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@2", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk undeclared or ambiguous resolution" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/039-left-payload.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/039-left-payload.bound" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/040-missing-earlier-prefix.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk foreign history is not an extension of its verified prefix" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/041-inserted-at-verified-epoch.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk foreign epoch does not match the verified prefix" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/042-right-acknowledged.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/042-right-acknowledged.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/043-no-payload.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/043-no-payload.bound" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/044-left-inventory.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/044-left-inventory.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/045-right-payload.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/045-right-payload.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "evidence" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=right .*scope=sample/artifact .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=right .*scope=receipts .*sig=", + "flags": "m" + }, + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*by=left .*scope=sample/artifact .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "sign", + "../inputs/046-next-local.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "^bound-lock/1 .*sig=", + "flags": "m" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/046-next-local.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/039-left-payload.bound" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "../inputs/047-alternate-origin-context.bound" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:PASS +closed|readings · no encounters computed)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/048-select-alternate.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/049-undeclared-context-lineage.bound", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 1, + "matches": [ + { + "stream": "stderr", + "pattern": "REFUSE·walk origin context changed without declared lineage" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "land", + "../inputs/050-new-left-local.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@0", + "--key", + "right", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_3}" + ], + "cwd": "samples/walk-publication/right-4", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/051-right-final-inventory.bound", + "group": "pair-2" + }, + { + "program": "runtime", + "args": [ + "../../../dist/cli/verb.js", + "fold", + "--as", + "walk@8", + "../inputs/051-right-final-inventory.bound", + "--key", + "left", + "--key-file", + "${WALK_PUBLICATION_SIGNER_FILE_2}" + ], + "cwd": "samples/walk-publication/left-3", + "timeoutMs": 20000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "EXCHANGE" + } + ], + "inputs": [ + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/act-cost.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/history-input.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/reading-closures.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "package.json", + "TARGET.bound", + "samples/walk-publication/inputs/001-left-conflicting-wire.bound", + "samples/walk-publication/inputs/002-left-context.bound", + "samples/walk-publication/inputs/003-right-conflicting-wire.bound", + "samples/walk-publication/inputs/004-right-context.bound", + "samples/walk-publication/inputs/005-left-local.bound", + "samples/walk-publication/inputs/006-right-local.bound", + "samples/walk-publication/inputs/007-right-inventory.bound", + "samples/walk-publication/inputs/008-altered.bound", + "samples/walk-publication/inputs/009-partial-payload.bound", + "samples/walk-publication/inputs/010-outside-prefix.bound", + "samples/walk-publication/inputs/011-unauthorized-prefix.bound", + "samples/walk-publication/inputs/012-stale-base.bound", + "samples/walk-publication/inputs/013-left-payload.bound", + "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/016-right-acknowledged.bound", + "samples/walk-publication/inputs/017-no-payload.bound", + "samples/walk-publication/inputs/018-left-inventory.bound", + "samples/walk-publication/inputs/019-right-payload.bound", + "samples/walk-publication/inputs/020-next-local.bound", + "samples/walk-publication/inputs/021-alternate-origin-context.bound", + "samples/walk-publication/inputs/022-select-alternate.bound", + "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/024-new-left-local.bound", + "samples/walk-publication/inputs/025-right-final-inventory.bound", + "samples/walk-publication/inputs/026-interruption-payload.bound", + "samples/walk-publication/inputs/027-left-conflicting-wire.bound", + "samples/walk-publication/inputs/028-left-context.bound", + "samples/walk-publication/inputs/029-right-conflicting-wire.bound", + "samples/walk-publication/inputs/030-right-context.bound", + "samples/walk-publication/inputs/031-left-local.bound", + "samples/walk-publication/inputs/032-right-local.bound", + "samples/walk-publication/inputs/033-right-inventory.bound", + "samples/walk-publication/inputs/034-altered.bound", + "samples/walk-publication/inputs/035-partial-payload.bound", + "samples/walk-publication/inputs/036-outside-prefix.bound", + "samples/walk-publication/inputs/037-unauthorized-prefix.bound", + "samples/walk-publication/inputs/038-stale-base.bound", + "samples/walk-publication/inputs/039-left-payload.bound", + "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", + "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", + "samples/walk-publication/inputs/042-right-acknowledged.bound", + "samples/walk-publication/inputs/043-no-payload.bound", + "samples/walk-publication/inputs/044-left-inventory.bound", + "samples/walk-publication/inputs/045-right-payload.bound", + "samples/walk-publication/inputs/046-next-local.bound", + "samples/walk-publication/inputs/047-alternate-origin-context.bound", + "samples/walk-publication/inputs/048-select-alternate.bound", + "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", + "samples/walk-publication/inputs/050-new-left-local.bound", + "samples/walk-publication/inputs/051-right-final-inventory.bound", + "samples/walk-publication/inputs/052-interruption-payload.bound", + "samples/walk-publication/left-1/TARGET.bound", + "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", + "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", + "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", + "samples/walk-publication/left-3/TARGET.bound", + "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", + "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", + "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", + "samples/walk-publication/right-2/TARGET.bound", + "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", + "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", + "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", + "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", + "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", + "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", + "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", + "samples/walk-publication/right-4/TARGET.bound", + "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", + "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", + "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", + "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", + "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", + "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", + "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" + ], + "stdoutFile": "samples/walk-publication/inputs/052-interruption-payload.bound", + "group": "pair-2" } ] } From 640a647f2f3948fccc25a0dc6b7f84117d153ed6 Mon Sep 17 00:00:00 2001 From: NahumDev <60716442+NahumOchoa@users.noreply.github.com> Date: Thu, 8 Oct 2026 11:53:13 -0600 Subject: [PATCH 4/6] Revert "Ship native sample places and instrument-only publication vectors" This reverts commit 1698718e767a1099062cfc68f1b2f4ee4d85ada1. --- README.md | 7 +- TARGET.bound | 21 +- .../archive-conformance.publication.json | 12 +- docs/contracts/archive.md | 10 +- .../attest-evidence.publication.json | 12 +- docs/contracts/cli-fold.publication.json | 10 +- docs/contracts/cli-land.publication.json | 10 +- docs/contracts/cli-sign.publication.json | 10 +- docs/contracts/evidence-view.md | 6 +- docs/contracts/typed-object.md | 34 +- docs/contracts/typed-object.publication.json | 12 +- docs/contracts/view-card.publication.json | 10 +- .../view-citation-file.publication.json | 10 +- .../view-explanation.publication.json | 10 +- docs/contracts/view-guide.publication.json | 10 +- docs/contracts/view-help.publication.json | 10 +- docs/contracts/view-lines.publication.json | 10 +- .../view-manifest-render.publication.json | 10 +- docs/contracts/view-programs.publication.json | 10 +- .../view-readme-historical.publication.json | 10 +- docs/contracts/view-receipts.publication.json | 10 +- .../contracts/view-reference.publication.json | 10 +- ...w-release-workflow-render.publication.json | 10 +- docs/contracts/view-tsconfig.publication.json | 10 +- .../view-usage-profile.publication.json | 10 +- docs/contracts/view-walk.publication.json | 10 +- docs/contracts/view-why.publication.json | 10 +- docs/why.md | 7 +- package.json | 1324 +- receipts.bound | 723 +- samples/artifacts-changed/TARGET.bound | 112 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b | 6 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - .../artifacts-changed/fixtures/history.txt | 51 - samples/artifacts-changed/receipts.bound | 9 - samples/artifacts/TARGET.bound | 112 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b | 5 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/artifacts/fixtures/history.txt | 51 - samples/artifacts/receipts.bound | 9 - .../historical-document-views-1/CITATION.cff | 6 - samples/historical-document-views-1/README.md | 9 - .../historical-document-views-1/TARGET.bound | 61 - .../historical-document-views-1/docs/guide.md | 4 - .../docs/reference.md | 11 - .../historical-document-views-1/docs/why.md | 3 - ...b2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 | 1 - ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 - ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 33422 -> 0 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 2776 -> 0 bytes ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 936 -> 0 bytes .../historical-document-views-1/manifest.json | 1 - samples/historical-document-views-1/notes.md | 3 - .../historical-document-views-1/process.yml | 2 - .../receipts.bound | 0 .../historical-document-views-1/tsconfig.json | 11 - .../historical-document-views-2/CITATION.cff | 6 - samples/historical-document-views-2/README.md | 9 - .../historical-document-views-2/TARGET.bound | 63 - .../historical-document-views-2/docs/guide.md | 4 - .../docs/reference.md | 11 - .../historical-document-views-2/docs/why.md | 3 - ...b2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 | 1 - ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 - ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 33422 -> 0 bytes ...b578670e79b106d8f8d93cffe5850a245f9c4a55bd | 1 - ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 2776 -> 0 bytes ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 936 -> 0 bytes .../historical-document-views-2/manifest.json | 1 - samples/historical-document-views-2/notes.md | 3 - .../historical-document-views-2/process.yml | 2 - .../receipts.bound | 0 .../historical-document-views-2/tsconfig.json | 11 - .../historical-document-views-3/CITATION.cff | 6 - samples/historical-document-views-3/README.md | 9 - .../historical-document-views-3/TARGET.bound | 67 - .../historical-document-views-3/docs/guide.md | 4 - .../docs/reference.md | 11 - .../historical-document-views-3/docs/why.md | 3 - ...b2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 | 1 - ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 - ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 33422 -> 0 bytes ...b578670e79b106d8f8d93cffe5850a245f9c4a55bd | 1 - ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 2776 -> 0 bytes ...21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 | 1 - ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 936 -> 0 bytes .../historical-document-views-3/manifest.json | 1 - samples/historical-document-views-3/notes.md | 3 - .../historical-document-views-3/process.yml | 2 - .../receipts.bound | 0 .../historical-document-views-3/tsconfig.json | 11 - .../historical-document-views-4/CITATION.cff | 6 - samples/historical-document-views-4/README.md | 9 - .../historical-document-views-4/TARGET.bound | 61 - .../catalogue.json | 1 - .../historical-document-views-4/catalogue.md | 3 - .../historical-document-views-4/catalogue.yml | 2 - .../historical-document-views-4/docs/guide.md | 4 - .../docs/reference.md | 11 - .../historical-document-views-4/docs/why.md | 3 - ...e8b4183744ea26548b6ddc871e83bfc4018f032a66 | 1 - ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 - ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 33422 -> 0 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 2776 -> 0 bytes ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 936 -> 0 bytes .../receipts.bound | 0 .../historical-document-views-4/tsconfig.json | 10 - .../historical-document-views-5/CITATION.cff | 6 - samples/historical-document-views-5/README.md | 9 - .../historical-document-views-5/TARGET.bound | 63 - .../catalogue.json | 1 - .../historical-document-views-5/catalogue.md | 3 - .../historical-document-views-5/catalogue.yml | 2 - .../historical-document-views-5/docs/guide.md | 4 - .../docs/reference.md | 11 - .../historical-document-views-5/docs/why.md | 3 - ...e8b4183744ea26548b6ddc871e83bfc4018f032a66 | 1 - ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 - ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 33422 -> 0 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 2776 -> 0 bytes ...2216bd897b0da4cb02b2668be73061e567330f29a3 | 1 - ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 936 -> 0 bytes .../receipts.bound | 0 .../historical-document-views-5/tsconfig.json | 10 - .../historical-document-views-6/CITATION.cff | 6 - samples/historical-document-views-6/README.md | 9 - .../historical-document-views-6/TARGET.bound | 67 - .../catalogue.json | 1 - .../historical-document-views-6/catalogue.md | 3 - .../historical-document-views-6/catalogue.yml | 2 - .../historical-document-views-6/docs/guide.md | 4 - .../docs/reference.md | 11 - .../historical-document-views-6/docs/why.md | 3 - ...e8b4183744ea26548b6ddc871e83bfc4018f032a66 | 1 - ...566d35fedcd332e21b860d356f812df85232de131c | 1 - ...4fea9ad0f75e694cc29760abc3e067b21071230ccd | 4 - ...8df2402e11da57aa9968dc53d5092558e66a1f4d22 | Bin 33422 -> 0 bytes ...9aa6dc02af27f6b00dba7c73da2ec9d86b7344953f | Bin 2776 -> 0 bytes ...2216bd897b0da4cb02b2668be73061e567330f29a3 | 1 - ...d591a9c89afad0ab6aa49ac3537638a1ae484923f6 | Bin 936 -> 0 bytes .../receipts.bound | 0 .../historical-document-views-6/tsconfig.json | 10 - .../native-views/inputs/001-north.proposal | 1 - .../native-views/inputs/002-north.proposal | 1 - .../native-views/inputs/003-south.proposal | 1 - .../native-views/inputs/004-south.proposal | 1 - .../native-views/inputs/005-alias.proposal | 1 - .../native-views/inputs/006-alias.proposal | 1 - .../inputs/007-uncovered.proposal | 1 - samples/native-views/inputs/008-altered.bound | 1 - .../native-views/inputs/009-withdraw.proposal | 1 - .../native-views/inputs/010-north.proposal | 1 - .../native-views/inputs/011-north.proposal | 1 - .../native-views/inputs/012-south.proposal | 1 - .../native-views/inputs/013-south.proposal | 1 - .../native-views/inputs/014-alias.proposal | 1 - .../native-views/inputs/015-alias.proposal | 1 - .../inputs/016-native-receipt.proposal | 1 - .../inputs/016-uncovered.proposal | 1 - samples/native-views/inputs/017-altered.bound | 1 - .../inputs/017-native-receipt.proposal | 1 - .../inputs/018-uncovered.proposal | 1 - .../native-views/inputs/018-withdraw.proposal | 1 - samples/native-views/inputs/019-altered.bound | 1 - .../native-views/inputs/019-north.proposal | 1 - .../native-views/inputs/020-north.proposal | 1 - .../native-views/inputs/020-withdraw.proposal | 1 - .../native-views/inputs/021-south.proposal | 1 - .../native-views/inputs/022-south.proposal | 1 - .../native-views/inputs/023-alias.proposal | 1 - .../native-views/inputs/024-alias.proposal | 1 - .../inputs/025-uncovered.proposal | 1 - samples/native-views/inputs/026-altered.bound | 1 - .../native-views/inputs/027-withdraw.proposal | 1 - .../native-views/inputs/028-north.proposal | 1 - .../native-views/inputs/029-north.proposal | 1 - .../native-views/inputs/030-south.proposal | 1 - .../native-views/inputs/031-south.proposal | 1 - .../native-views/inputs/032-alias.proposal | 1 - .../native-views/inputs/033-alias.proposal | 1 - .../inputs/034-native-receipt.proposal | 1 - .../inputs/035-native-receipt.proposal | 1 - .../inputs/036-uncovered.proposal | 1 - samples/native-views/inputs/037-altered.bound | 1 - .../native-views/inputs/038-withdraw.proposal | 1 - samples/native-views/place-1/TARGET.bound | 39 - ...d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 | 1 - ...86f7b37480996b7625c89b4e88c2ac204286a2fc07 | 1 - ...d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 | 1 - ...32aad9fea5a0351b76cc91ac336ba448f59eacbbdb | 1 - ...d96cf38c56f704c491185e69a1b2ff1867122a2258 | 1 - ...5b7096f5b5409b38a04b9a3d6763909e13167d3c79 | 1 - ...6fc74c471c330626904f0d42e04191a1a6cbc31a48 | 1 - ...bb6d5a83201d514a653d1627bbb5b493cfeb87fa0d | 1 - ...bec0391b69f526d71bb53dc1ec754e5a22231b55a7 | 1 - ...ae213e5bc919c27a350ce60e711e4d0d75cd497d54 | 1 - samples/native-views/place-1/receipts.bound | 4 - samples/native-views/place-2/TARGET.bound | 39 - ...ba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 | 1 - ...78f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac | 1 - ...9c410c1406ac896acd28a681f600d4813528fd52ab | 1 - ...ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 | 1 - ...32a71babda11b37c94690f2ebc6ea965660b1f2c09 | 1 - ...e1554d0ef3681d667cfd6aeb88acff18e92c5d992c | 1 - ...4a0cf85946addca058dae9ea8ee3e32ad68b6a297d | 1 - ...e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 | 1 - samples/native-views/place-2/receipts.bound | 4 - samples/native-views/place-3/TARGET.bound | 39 - ...fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d | 1 - ...5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 | 1 - ...4ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 | 1 - ...77ece8e4bf847b337697ebf0b9b43baa0553764700 | 1 - ...745d9e0384e864b8fd2462317bd8fc81234ac24247 | 1 - samples/native-views/place-3/receipts.bound | 4 - samples/native-views/place-4/TARGET.bound | 38 - ...c8c469958074e90e4486a6864348b3e49f45e26f42 | 1 - ...c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 | 1 - ...95d333626c0b23ec1da6c6741edf69627e857f57b7 | 1 - samples/native-views/place-4/receipts.bound | 4 - samples/native-views/place/TARGET.bound | 38 - ...f8f4cd5e5df065b274c739443b1705b3c30b651369 | 1 - ...1849aec6ec84acc38f3dded97e6661254537c4ea7a | 1 - ...06fec867bd0c61af89c08e70b11c7740bc560f9a39 | 1 - ...37b6a85777c04066c532fc6549a658c60f5519e46b | 1 - ...ef496b61a917a88291a48183a6a8ae236cd5f62972 | 1 - ...302735c7c58e2f5229836df06214d1beecda733720 | 1 - ...f4645d5d36d1f054e6b195dcbd4450c7859288d9f2 | 1 - ...883ab8577c918367c48714adf1704a9e0a38ddc3b2 | 1 - samples/program-views-1/TARGET.bound | 37 - ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 - ...5d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 | 1 - ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 38752 -> 0 bytes samples/program-views-1/receipts.bound | 0 samples/program-views-2/TARGET.bound | 37 - ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 - ...5648d2ce5011f9fa9fb4be504d10e663a226d45eca | 1 - ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 38752 -> 0 bytes samples/program-views-2/receipts.bound | 0 samples/program-views-3/TARGET.bound | 37 - ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 - ...a7029755fe0d0458c14e73b6083f97033614f0b05c | 1 - ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 38752 -> 0 bytes samples/program-views-3/receipts.bound | 0 samples/program-views-4/TARGET.bound | 37 - ...64376aac86baeb34509b532dd88507a8dcaa92782b | 11 - ...0cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc | Bin 38752 -> 0 bytes ...cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f | 1 - samples/program-views-4/receipts.bound | 0 samples/query-views-1/TARGET.bound | 23 - ...452c3056a95ea12a2a283d5de41f797e9c077be9e8 | 1 - ...4d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1 | 1 - samples/query-views-1/receipts.bound | 0 samples/query-views-1/source.txt | 1 - samples/query-views-2/TARGET.bound | 23 - ...f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8 | 1 - samples/query-views-2/receipts.bound | 0 samples/query-views-2/release.txt | 1 - samples/signing-port/absent-3/TARGET.bound | 14 - samples/signing-port/command-2/TARGET.bound | 17 - ...8aedb56250ba55b24073831ecf1e85e8cac23e9d15 | 1 - ...0337372d3d833c807a4b4a41c2154170e32a38cdf5 | 1 - ...0205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746 | 1 - ...0da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025 | 1 - samples/signing-port/file-1/TARGET.bound | 17 - ...134c9c1a8e7c2f7987078bfbf907827c5d5fa79692 | 1 - ...babbce98ac402dbc642b1121eb2f78e531d6a6c0d7 | 1 - ...265f1328002ca127a67085a9d22cb4885d1c724630 | 1 - ...057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf | 1 - samples/signing-port/inputs/001-lot.proposal | 2 - .../signing-port/inputs/002-signed.proposal | 2 - samples/signing-port/inputs/003-lot.proposal | 2 - .../signing-port/inputs/004-invalid.proposal | 2 - .../inputs/file-signature.proposal | 0 samples/typed-changed/TARGET.bound | 112 - samples/typed-changed/artifacts.json | 81 - samples/typed-changed/artifacts.vector.json | 173 - samples/typed-changed/contract.json | 37 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 6 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-changed/fixtures/history.txt | 51 - samples/typed-changed/no.json | 142 - samples/typed-changed/range.vector.json | 173 - samples/typed-changed/receipts.bound | 9 - samples/typed-changed/wire.json | 22 - samples/typed-changed/yes.json | 78 - samples/typed-object-1/TARGET.bound | 119 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 - ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-object-1/fixtures/history.txt | 51 - samples/typed-object-1/receipts.bound | 9 - samples/typed-object-2/TARGET.bound | 120 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 - ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 - ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 - ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 - ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 - ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-object-2/fixtures/history.txt | 52 - samples/typed-object-2/receipts.bound | 9 - samples/typed-object-3/TARGET.bound | 123 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 - ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 - ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 - ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 - ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 - ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 - ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-object-3/fixtures/history.txt | 55 - samples/typed-object-3/receipts.bound | 9 - samples/typed-object-4/TARGET.bound | 125 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 - ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...12cdc2d476907371ca25080a378f91519e4f661c14 | 1 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 - ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 - ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 - ...2c9bbad5b5b802af2d05672b886846efa8b10610b9 | 1 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 - ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 - ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 - ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 - ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-object-4/fixtures/history.txt | 57 - samples/typed-object-4/receipts.bound | 9 - samples/typed-object-5/TARGET.bound | 126 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 - ...07df24a8e0fe64a3eaf34e8de1e4401bafe632526a | 1 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 - ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...12cdc2d476907371ca25080a378f91519e4f661c14 | 1 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 - ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 - ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 - ...2c9bbad5b5b802af2d05672b886846efa8b10610b9 | 1 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...e4424ac4ef8aae3d1ba59540b015077681d4634c41 | 1 - ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...38ad7abaf7deed32734b147bc993fca6d132b0a90d | 1 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 - ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 - ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 - ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 - ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-object-5/fixtures/history.txt | 58 - samples/typed-object-5/receipts.bound | 9 - samples/typed-object-6/TARGET.bound | 127 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 | 1 - ...07df24a8e0fe64a3eaf34e8de1e4401bafe632526a | 1 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 - ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 | 1 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...12cdc2d476907371ca25080a378f91519e4f661c14 | 1 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 - ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 - ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 - ...2c9bbad5b5b802af2d05672b886846efa8b10610b9 | 1 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 | 1 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...e4424ac4ef8aae3d1ba59540b015077681d4634c41 | 1 - ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...38ad7abaf7deed32734b147bc993fca6d132b0a90d | 1 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 - ...eab8c8e8d579710b3652b928d02433218c6f239c95 | 1 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 - ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 - ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 - ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...c05e147a96004c45ff4688c7ac2b1eeb78062fc53c | 1 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...85012799378a4b201d086c514930c2f37c000c45b4 | 1 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-object-6/fixtures/history.txt | 59 - samples/typed-object-6/receipts.bound | 9 - samples/typed-object-7/TARGET.bound | 119 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...37949ddea68b15ee1634c3d44e95d77eeb7648339b | 1 - ...99afb411e0fd8415b7de0fb5e3623dcfb807cc12bf | 1 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...358c70e180c7e0000224033ecccc7b61ce807b3d8d | 1 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...55f832310e370ebe49a9fc5a3805fb02ee9c1488c1 | 1 - ...a3899342ec89dd15c3c058f88bed6a55c2a20ff964 | 1 - ...da3f90e5e0b7ffc278ba45d9ab188782b305fbf463 | 1 - ...a80d4a34a7c8a4691162fdf584c618736064180e15 | 1 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 | 1 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...e4424ac4ef8aae3d1ba59540b015077681d4634c41 | 1 - ...099174e60a660b8c694ce566b6b6123ec70927f2d4 | 1 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...f6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 | 1 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae | 1 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...38ad7abaf7deed32734b147bc993fca6d132b0a90d | 1 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 | 1 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...37d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 | 1 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 | 1 - ...07372b3aadd4d378ea7d22dd407586ddbc6b374f41 | 1 - ...4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 | 1 - ...bae0af41c27826cf53eadca0763ab8c2e652572701 | 1 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...35d4cf3322f7593aa77d002d83039b6e8ddf80a46e | 1 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 | 1 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...71a51bc37ca4e602cc4073afec4668170dd38e5328 | 1 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed-object-7/fixtures/history.txt | 51 - samples/typed-object-7/receipts.bound | 9 - samples/typed/TARGET.bound | 112 - ...2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 | 41 - ...3373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 | 13 - ...026b377e67e070e1ab5ede71b64aebe17ecc4303a7 | 14 - ...e574caa2141a59dac07eed8a384fb6e903ff069828 | 29 - ...0cc0172bb34373cbe2876a21a21efdc8ba088112b0 | 11 - ...61b6f0392b05183945b4a9c6e9f46dffb976c20d9c | 15 - ...9ef058529bb34c6bff30b48f21d8a7617885639684 | 18 - ...c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 | 40 - ...89a61da12705d452aae2d0d52cbd98bf1a624e9f6b | 119 - ...eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 | 5 - ...bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 | 11 - ...919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c | 38 - ...ea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 | 4 - ...42f963449fb826952d0b50088d5437bd388d0d7091 | 11 - ...baa791ed401922afeafe06239c597113bb2b5f78ff | 80 - ...11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 | 5 - ...b33d653a96c25eaf5d23f0e7025eb5ad8020366a71 | 134 - ...2aab5a19483f6622f1b37ec476ea433d93edc12a0f | 11 - ...846da3d32058b87a4c45cd3eafa13821d567f8feb9 | 19 - ...64035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 | 12 - ...1d6a263c68d180a8e53fac6319daf51087af214d62 | 80 - ...75622a1c07367daa2ad2de93b3ca0edecf4b823bea | 54 - ...d8995e4a0c421b1a38a607589c14c4ef0581d37f7c | 50 - ...e62e6deb08a27616fa9493d46cd7283dac7074711e | 19 - ...36cadc16df2af6e1cf2c3ca299647843e21d035128 | 12 - ...50f5c4e4643bbbc36b7e29497d00f1f91d76a3103e | 21 - ...81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e | 420 - ...afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab | 16 - ...3f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 | 149 - ...2defc767eef611be705565cc766f4af6e0bb3a7998 | 16 - ...2721284f155d268b3ea89584beef5bbcfcddfead95 | 63 - ...27a13c055414cf6f00c7073d8ff9b25071d77754e3 | 2 - ...e5edc0181f41e995780613b99145e9c33a64af4e86 | 36 - ...baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a | 39 - ...550ff240efb475980b7b06aacc59dcbae66abb5b2e | 198 - ...4ad77329089866b4e3c65750fa0f1bbdcefca61771 | 60 - ...6588fe12f834db81b90f2a92a4985ef4904a31e9b1 | 80 - ...bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 | 11 - ...8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c | 56 - ...ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 | 79 - ...d52c9aa86699eedf6b04cdb7b4efd9404237c06d6d | 19 - ...6cb371cfc96b4195c04e7f689df21cad5bd3d5726c | 30 - ...dd66d26481780b4112a8c45584f356ccfd6fb784d8 | 74 - ...a63581abb213a0ac35c71078ba4da246d13dd5216c | 128 - ...443bcc331c4aee71e360875ac6f96f087f3865aba4 | 31 - ...6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d | 11 - ...34dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 | 36 - ...0b724ac63480f47811f7a275ae5d911e8711b7dcb3 | 63 - ...62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 | 48 - ...dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 | 8 - ...129bd5ddedeb9e35f1163204630788a574a5fdbd78 | 12 - ...7c806140ce140de412f58d4c4907f80ad7ad3cdf3d | 58 - ...014c1a147a43d5f0c70b844f9ba05f686ed918d4bf | 13 - ...437bd4dd1eac5384cac6122de534464aae798bff94 | 18 - ...14d6729d0ed306239c9544618bf8e22ac1707facc6 | 5 - ...636ee258a158fa468b47aeae02cadcddc30e3919f6 | 18 - ...bf424fb13ed68793913e399815871031e3a7e41a9a | 3 - ...05e501dd85d786d30a23706fc9070160e8c60b25f2 | 11 - ...a6943ff8bfbed2cf86e43410a0536d6b068d404421 | 110 - ...b790456b182716b2e1a5cc5ee70eea0c56ed521d3a | 8 - ...e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 | 2 - ...241c75b879dcaae26224db243bf05efd9d4d8562ca | 95 - ...f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c | 55 - ...1167d9b1f2b6488b554deb4c57722ec0afa2a3a994 | 114 - ...00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 | 58 - ...e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd | 17 - ...ab71f38ea363fb95e93dc44187f30357dfa777dd3d | 42 - ...8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 | 35 - ...c3d62e701120fb93242c020b9b19b6306368094261 | 53 - samples/typed/fixtures/history.txt | 51 - samples/typed/receipts.bound | 9 - .../inputs/001-left-conflicting-wire.bound | 25 - .../inputs/002-left-context.bound | 24 - .../inputs/003-right-conflicting-wire.bound | 25 - .../inputs/004-right-context.bound | 24 - .../inputs/005-left-local.bound | 1 - .../inputs/006-right-local.bound | 1 - .../inputs/007-right-inventory.bound | 2 - .../walk-publication/inputs/008-altered.bound | 4 - .../inputs/009-partial-payload.bound | 3 - .../inputs/010-outside-prefix.bound | 4 - .../inputs/011-unauthorized-prefix.bound | 4 - .../inputs/012-stale-base.bound | 4 - .../inputs/013-left-payload.bound | 4 - .../inputs/014-missing-earlier-prefix.bound | 4 - .../015-inserted-at-verified-epoch.bound | 5 - .../inputs/016-right-acknowledged.bound | 3 - .../inputs/017-no-payload.bound | 1 - .../inputs/018-left-inventory.bound | 2 - .../inputs/019-right-payload.bound | 4 - .../inputs/020-next-local.bound | 1 - .../inputs/021-alternate-origin-context.bound | 25 - .../inputs/022-select-alternate.bound | 1 - .../023-undeclared-context-lineage.bound | 4 - .../inputs/024-new-left-local.bound | 1 - .../inputs/025-right-final-inventory.bound | 3 - .../inputs/026-interruption-payload.bound | 5 - .../inputs/027-left-conflicting-wire.bound | 25 - .../inputs/028-left-context.bound | 24 - .../inputs/029-right-conflicting-wire.bound | 25 - .../inputs/030-right-context.bound | 24 - .../inputs/031-left-local.bound | 1 - .../inputs/032-right-local.bound | 1 - .../inputs/033-right-inventory.bound | 2 - .../walk-publication/inputs/034-altered.bound | 4 - .../inputs/035-partial-payload.bound | 3 - .../inputs/036-outside-prefix.bound | 4 - .../inputs/037-unauthorized-prefix.bound | 4 - .../inputs/038-stale-base.bound | 4 - .../inputs/039-left-payload.bound | 4 - .../inputs/040-missing-earlier-prefix.bound | 4 - .../041-inserted-at-verified-epoch.bound | 5 - .../inputs/042-right-acknowledged.bound | 3 - .../inputs/043-no-payload.bound | 1 - .../inputs/044-left-inventory.bound | 2 - .../inputs/045-right-payload.bound | 4 - .../inputs/046-next-local.bound | 1 - .../inputs/047-alternate-origin-context.bound | 25 - .../inputs/048-select-alternate.bound | 1 - .../049-undeclared-context-lineage.bound | 4 - .../inputs/050-new-left-local.bound | 1 - .../inputs/051-right-final-inventory.bound | 3 - .../inputs/052-interruption-payload.bound | 5 - samples/walk-publication/left-1/TARGET.bound | 32 - ...b407cc7c77c5c28b43e49aebf69265f608c42bdfaf | 22 - ...cdcc42910468abc441233bd0f111b7d6518050a7ca | 1 - ...2a476f53228bba1cf6d356554b1e533d0ee83e6793 | 22 - ...38d977ec95b92d30c03e0c6b045628b13a9c3aba68 | 1 - ...225dd9066f545fc932a900c0b620a1a84deb2346c7 | 1 - samples/walk-publication/left-3/TARGET.bound | 32 - ...fabb1a468791c4be2df486dad7259f1df08f4b96bc | 1 - ...85943d4d85a8a941e7cc4a09af891ccc055ed42c8f | 22 - ...890ed6c00c47331132c5757dde1ae662a3f2506b25 | 1 - ...41e81a33564f10043a87f28fa570171413f6bf2b51 | 22 - ...df09fb4a1b1add3190d4463474afcc058be99a9e88 | 1 - samples/walk-publication/right-2/TARGET.bound | 39 - ...c838c291ccd9aba7f68619660ed0ae2bf82542971a | 1 - ...d7a2659dcd26eb1750a12e9e34f9d66719e2621286 | 23 - ...b407cc7c77c5c28b43e49aebf69265f608c42bdfaf | 22 - ...4b51431dccb314443b579221126a1f696e295f80a2 | 1 - ...2a476f53228bba1cf6d356554b1e533d0ee83e6793 | 22 - ...8c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 | 1 - ...45e71e2ef1127a307b78c29d37955079ddc87d044c | 1 - samples/walk-publication/right-4/TARGET.bound | 39 - ...cc9ed03460b92987f433ab1138d9746414815bbc58 | 1 - ...9dd16595c90ce867240036f40937772c573e2d19e2 | 1 - ...85943d4d85a8a941e7cc4a09af891ccc055ed42c8f | 22 - ...41e81a33564f10043a87f28fa570171413f6bf2b51 | 22 - ...84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 | 1 - ...7aab95f02581483b5aad8cfae4c539c29a240ea004 | 1 - ...d5a07f36175d88337d0ac9c467eec7d4559b956ef7 | 23 - src/cli/verb.ts | 39 +- src/fold/keys.ts | 7 +- src/fold/observed.ts | 2 +- src/fold/signers.ts | 7 +- src/host/content-store.ts | 15 - src/host/history-input.ts | 35 - src/host/reading-closures.ts | 15 +- test/fold-target.test.ts | 26 - test/formed-place.test.ts | 33 - test/reading-closures.test.ts | 18 - vectors/archive-conformance.json | 859 +- vectors/attest-evidence.json | 163 + vectors/historical-build.json | 164 + vectors/historical-document-views.json | 3222 +-- vectors/historical-presentation.json | 174 + vectors/native-views.json | 15110 +------------- vectors/process/cli-case.mjs | 2 +- vectors/program-views.json | 1008 +- vectors/prose-views.json | 155 + vectors/query-views.json | 731 +- vectors/signing-port.json | 2048 +- vectors/typed-object.json | 1570 +- vectors/walk-publication.json | 17399 +--------------- 1308 files changed, 1504 insertions(+), 84484 deletions(-) delete mode 100644 samples/artifacts-changed/TARGET.bound delete mode 100644 samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b delete mode 100644 samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/artifacts-changed/fixtures/history.txt delete mode 100644 samples/artifacts-changed/receipts.bound delete mode 100644 samples/artifacts/TARGET.bound delete mode 100644 samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b delete mode 100644 samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/artifacts/fixtures/history.txt delete mode 100644 samples/artifacts/receipts.bound delete mode 100644 samples/historical-document-views-1/CITATION.cff delete mode 100644 samples/historical-document-views-1/README.md delete mode 100644 samples/historical-document-views-1/TARGET.bound delete mode 100644 samples/historical-document-views-1/docs/guide.md delete mode 100644 samples/historical-document-views-1/docs/reference.md delete mode 100644 samples/historical-document-views-1/docs/why.md delete mode 100644 samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 delete mode 100644 samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd delete mode 100644 samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 delete mode 100644 samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f delete mode 100644 samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 delete mode 100644 samples/historical-document-views-1/manifest.json delete mode 100644 samples/historical-document-views-1/notes.md delete mode 100644 samples/historical-document-views-1/process.yml delete mode 100644 samples/historical-document-views-1/receipts.bound delete mode 100644 samples/historical-document-views-1/tsconfig.json delete mode 100644 samples/historical-document-views-2/CITATION.cff delete mode 100644 samples/historical-document-views-2/README.md delete mode 100644 samples/historical-document-views-2/TARGET.bound delete mode 100644 samples/historical-document-views-2/docs/guide.md delete mode 100644 samples/historical-document-views-2/docs/reference.md delete mode 100644 samples/historical-document-views-2/docs/why.md delete mode 100644 samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 delete mode 100644 samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd delete mode 100644 samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 delete mode 100644 samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd delete mode 100644 samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f delete mode 100644 samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 delete mode 100644 samples/historical-document-views-2/manifest.json delete mode 100644 samples/historical-document-views-2/notes.md delete mode 100644 samples/historical-document-views-2/process.yml delete mode 100644 samples/historical-document-views-2/receipts.bound delete mode 100644 samples/historical-document-views-2/tsconfig.json delete mode 100644 samples/historical-document-views-3/CITATION.cff delete mode 100644 samples/historical-document-views-3/README.md delete mode 100644 samples/historical-document-views-3/TARGET.bound delete mode 100644 samples/historical-document-views-3/docs/guide.md delete mode 100644 samples/historical-document-views-3/docs/reference.md delete mode 100644 samples/historical-document-views-3/docs/why.md delete mode 100644 samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 delete mode 100644 samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd delete mode 100644 samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 delete mode 100644 samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd delete mode 100644 samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f delete mode 100644 samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 delete mode 100644 samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 delete mode 100644 samples/historical-document-views-3/manifest.json delete mode 100644 samples/historical-document-views-3/notes.md delete mode 100644 samples/historical-document-views-3/process.yml delete mode 100644 samples/historical-document-views-3/receipts.bound delete mode 100644 samples/historical-document-views-3/tsconfig.json delete mode 100644 samples/historical-document-views-4/CITATION.cff delete mode 100644 samples/historical-document-views-4/README.md delete mode 100644 samples/historical-document-views-4/TARGET.bound delete mode 100644 samples/historical-document-views-4/catalogue.json delete mode 100644 samples/historical-document-views-4/catalogue.md delete mode 100644 samples/historical-document-views-4/catalogue.yml delete mode 100644 samples/historical-document-views-4/docs/guide.md delete mode 100644 samples/historical-document-views-4/docs/reference.md delete mode 100644 samples/historical-document-views-4/docs/why.md delete mode 100644 samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 delete mode 100644 samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd delete mode 100644 samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 delete mode 100644 samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f delete mode 100644 samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 delete mode 100644 samples/historical-document-views-4/receipts.bound delete mode 100644 samples/historical-document-views-4/tsconfig.json delete mode 100644 samples/historical-document-views-5/CITATION.cff delete mode 100644 samples/historical-document-views-5/README.md delete mode 100644 samples/historical-document-views-5/TARGET.bound delete mode 100644 samples/historical-document-views-5/catalogue.json delete mode 100644 samples/historical-document-views-5/catalogue.md delete mode 100644 samples/historical-document-views-5/catalogue.yml delete mode 100644 samples/historical-document-views-5/docs/guide.md delete mode 100644 samples/historical-document-views-5/docs/reference.md delete mode 100644 samples/historical-document-views-5/docs/why.md delete mode 100644 samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 delete mode 100644 samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd delete mode 100644 samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 delete mode 100644 samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f delete mode 100644 samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 delete mode 100644 samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 delete mode 100644 samples/historical-document-views-5/receipts.bound delete mode 100644 samples/historical-document-views-5/tsconfig.json delete mode 100644 samples/historical-document-views-6/CITATION.cff delete mode 100644 samples/historical-document-views-6/README.md delete mode 100644 samples/historical-document-views-6/TARGET.bound delete mode 100644 samples/historical-document-views-6/catalogue.json delete mode 100644 samples/historical-document-views-6/catalogue.md delete mode 100644 samples/historical-document-views-6/catalogue.yml delete mode 100644 samples/historical-document-views-6/docs/guide.md delete mode 100644 samples/historical-document-views-6/docs/reference.md delete mode 100644 samples/historical-document-views-6/docs/why.md delete mode 100644 samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 delete mode 100644 samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c delete mode 100644 samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd delete mode 100644 samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 delete mode 100644 samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f delete mode 100644 samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 delete mode 100644 samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 delete mode 100644 samples/historical-document-views-6/receipts.bound delete mode 100644 samples/historical-document-views-6/tsconfig.json delete mode 100644 samples/native-views/inputs/001-north.proposal delete mode 100644 samples/native-views/inputs/002-north.proposal delete mode 100644 samples/native-views/inputs/003-south.proposal delete mode 100644 samples/native-views/inputs/004-south.proposal delete mode 100644 samples/native-views/inputs/005-alias.proposal delete mode 100644 samples/native-views/inputs/006-alias.proposal delete mode 100644 samples/native-views/inputs/007-uncovered.proposal delete mode 100644 samples/native-views/inputs/008-altered.bound delete mode 100644 samples/native-views/inputs/009-withdraw.proposal delete mode 100644 samples/native-views/inputs/010-north.proposal delete mode 100644 samples/native-views/inputs/011-north.proposal delete mode 100644 samples/native-views/inputs/012-south.proposal delete mode 100644 samples/native-views/inputs/013-south.proposal delete mode 100644 samples/native-views/inputs/014-alias.proposal delete mode 100644 samples/native-views/inputs/015-alias.proposal delete mode 100644 samples/native-views/inputs/016-native-receipt.proposal delete mode 100644 samples/native-views/inputs/016-uncovered.proposal delete mode 100644 samples/native-views/inputs/017-altered.bound delete mode 100644 samples/native-views/inputs/017-native-receipt.proposal delete mode 100644 samples/native-views/inputs/018-uncovered.proposal delete mode 100644 samples/native-views/inputs/018-withdraw.proposal delete mode 100644 samples/native-views/inputs/019-altered.bound delete mode 100644 samples/native-views/inputs/019-north.proposal delete mode 100644 samples/native-views/inputs/020-north.proposal delete mode 100644 samples/native-views/inputs/020-withdraw.proposal delete mode 100644 samples/native-views/inputs/021-south.proposal delete mode 100644 samples/native-views/inputs/022-south.proposal delete mode 100644 samples/native-views/inputs/023-alias.proposal delete mode 100644 samples/native-views/inputs/024-alias.proposal delete mode 100644 samples/native-views/inputs/025-uncovered.proposal delete mode 100644 samples/native-views/inputs/026-altered.bound delete mode 100644 samples/native-views/inputs/027-withdraw.proposal delete mode 100644 samples/native-views/inputs/028-north.proposal delete mode 100644 samples/native-views/inputs/029-north.proposal delete mode 100644 samples/native-views/inputs/030-south.proposal delete mode 100644 samples/native-views/inputs/031-south.proposal delete mode 100644 samples/native-views/inputs/032-alias.proposal delete mode 100644 samples/native-views/inputs/033-alias.proposal delete mode 100644 samples/native-views/inputs/034-native-receipt.proposal delete mode 100644 samples/native-views/inputs/035-native-receipt.proposal delete mode 100644 samples/native-views/inputs/036-uncovered.proposal delete mode 100644 samples/native-views/inputs/037-altered.bound delete mode 100644 samples/native-views/inputs/038-withdraw.proposal delete mode 100644 samples/native-views/place-1/TARGET.bound delete mode 100644 samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 delete mode 100644 samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 delete mode 100644 samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 delete mode 100644 samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb delete mode 100644 samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 delete mode 100644 samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 delete mode 100644 samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 delete mode 100644 samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d delete mode 100644 samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 delete mode 100644 samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 delete mode 100644 samples/native-views/place-1/receipts.bound delete mode 100644 samples/native-views/place-2/TARGET.bound delete mode 100644 samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 delete mode 100644 samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac delete mode 100644 samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab delete mode 100644 samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 delete mode 100644 samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 delete mode 100644 samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c delete mode 100644 samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d delete mode 100644 samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 delete mode 100644 samples/native-views/place-2/receipts.bound delete mode 100644 samples/native-views/place-3/TARGET.bound delete mode 100644 samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d delete mode 100644 samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 delete mode 100644 samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 delete mode 100644 samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 delete mode 100644 samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 delete mode 100644 samples/native-views/place-3/receipts.bound delete mode 100644 samples/native-views/place-4/TARGET.bound delete mode 100644 samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 delete mode 100644 samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 delete mode 100644 samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 delete mode 100644 samples/native-views/place-4/receipts.bound delete mode 100644 samples/native-views/place/TARGET.bound delete mode 100644 samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 delete mode 100644 samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a delete mode 100644 samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 delete mode 100644 samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b delete mode 100644 samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 delete mode 100644 samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 delete mode 100644 samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 delete mode 100644 samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 delete mode 100644 samples/program-views-1/TARGET.bound delete mode 100644 samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b delete mode 100644 samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 delete mode 100644 samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc delete mode 100644 samples/program-views-1/receipts.bound delete mode 100644 samples/program-views-2/TARGET.bound delete mode 100644 samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b delete mode 100644 samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca delete mode 100644 samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc delete mode 100644 samples/program-views-2/receipts.bound delete mode 100644 samples/program-views-3/TARGET.bound delete mode 100644 samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b delete mode 100644 samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c delete mode 100644 samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc delete mode 100644 samples/program-views-3/receipts.bound delete mode 100644 samples/program-views-4/TARGET.bound delete mode 100644 samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b delete mode 100644 samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc delete mode 100644 samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f delete mode 100644 samples/program-views-4/receipts.bound delete mode 100644 samples/query-views-1/TARGET.bound delete mode 100644 samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8 delete mode 100644 samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1 delete mode 100644 samples/query-views-1/receipts.bound delete mode 100644 samples/query-views-1/source.txt delete mode 100644 samples/query-views-2/TARGET.bound delete mode 100644 samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8 delete mode 100644 samples/query-views-2/receipts.bound delete mode 100644 samples/query-views-2/release.txt delete mode 100644 samples/signing-port/absent-3/TARGET.bound delete mode 100644 samples/signing-port/command-2/TARGET.bound delete mode 100644 samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15 delete mode 100644 samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5 delete mode 100644 samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746 delete mode 100644 samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025 delete mode 100644 samples/signing-port/file-1/TARGET.bound delete mode 100644 samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692 delete mode 100644 samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7 delete mode 100644 samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630 delete mode 100644 samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf delete mode 100644 samples/signing-port/inputs/001-lot.proposal delete mode 100644 samples/signing-port/inputs/002-signed.proposal delete mode 100644 samples/signing-port/inputs/003-lot.proposal delete mode 100644 samples/signing-port/inputs/004-invalid.proposal delete mode 100644 samples/signing-port/inputs/file-signature.proposal delete mode 100644 samples/typed-changed/TARGET.bound delete mode 100644 samples/typed-changed/artifacts.json delete mode 100644 samples/typed-changed/artifacts.vector.json delete mode 100644 samples/typed-changed/contract.json delete mode 100644 samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-changed/fixtures/history.txt delete mode 100644 samples/typed-changed/no.json delete mode 100644 samples/typed-changed/range.vector.json delete mode 100644 samples/typed-changed/receipts.bound delete mode 100644 samples/typed-changed/wire.json delete mode 100644 samples/typed-changed/yes.json delete mode 100644 samples/typed-object-1/TARGET.bound delete mode 100644 samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d delete mode 100644 samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 delete mode 100644 samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 delete mode 100644 samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae delete mode 100644 samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 delete mode 100644 samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 delete mode 100644 samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 delete mode 100644 samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-object-1/fixtures/history.txt delete mode 100644 samples/typed-object-1/receipts.bound delete mode 100644 samples/typed-object-2/TARGET.bound delete mode 100644 samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b delete mode 100644 samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf delete mode 100644 samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d delete mode 100644 samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 delete mode 100644 samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 delete mode 100644 samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 delete mode 100644 samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 delete mode 100644 samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 delete mode 100644 samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae delete mode 100644 samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 delete mode 100644 samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 delete mode 100644 samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 delete mode 100644 samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 delete mode 100644 samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e delete mode 100644 samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 delete mode 100644 samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-object-2/fixtures/history.txt delete mode 100644 samples/typed-object-2/receipts.bound delete mode 100644 samples/typed-object-3/TARGET.bound delete mode 100644 samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 delete mode 100644 samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b delete mode 100644 samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf delete mode 100644 samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d delete mode 100644 samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 delete mode 100644 samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 delete mode 100644 samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 delete mode 100644 samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 delete mode 100644 samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 delete mode 100644 samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 delete mode 100644 samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae delete mode 100644 samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 delete mode 100644 samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 delete mode 100644 samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 delete mode 100644 samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 delete mode 100644 samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 delete mode 100644 samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e delete mode 100644 samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 delete mode 100644 samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c delete mode 100644 samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-object-3/fixtures/history.txt delete mode 100644 samples/typed-object-3/receipts.bound delete mode 100644 samples/typed-object-4/TARGET.bound delete mode 100644 samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 delete mode 100644 samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b delete mode 100644 samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf delete mode 100644 samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d delete mode 100644 samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 delete mode 100644 samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 delete mode 100644 samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 delete mode 100644 samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 delete mode 100644 samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 delete mode 100644 samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 delete mode 100644 samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 delete mode 100644 samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 delete mode 100644 samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae delete mode 100644 samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 delete mode 100644 samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 delete mode 100644 samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 delete mode 100644 samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 delete mode 100644 samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 delete mode 100644 samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 delete mode 100644 samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 delete mode 100644 samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e delete mode 100644 samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 delete mode 100644 samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 delete mode 100644 samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c delete mode 100644 samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-object-4/fixtures/history.txt delete mode 100644 samples/typed-object-4/receipts.bound delete mode 100644 samples/typed-object-5/TARGET.bound delete mode 100644 samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 delete mode 100644 samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a delete mode 100644 samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b delete mode 100644 samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf delete mode 100644 samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d delete mode 100644 samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 delete mode 100644 samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 delete mode 100644 samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 delete mode 100644 samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 delete mode 100644 samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 delete mode 100644 samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 delete mode 100644 samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 delete mode 100644 samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 delete mode 100644 samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 delete mode 100644 samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae delete mode 100644 samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d delete mode 100644 samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 delete mode 100644 samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 delete mode 100644 samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 delete mode 100644 samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 delete mode 100644 samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 delete mode 100644 samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 delete mode 100644 samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 delete mode 100644 samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e delete mode 100644 samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 delete mode 100644 samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 delete mode 100644 samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c delete mode 100644 samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-object-5/fixtures/history.txt delete mode 100644 samples/typed-object-5/receipts.bound delete mode 100644 samples/typed-object-6/TARGET.bound delete mode 100644 samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 delete mode 100644 samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a delete mode 100644 samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b delete mode 100644 samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf delete mode 100644 samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d delete mode 100644 samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 delete mode 100644 samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 delete mode 100644 samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 delete mode 100644 samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 delete mode 100644 samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 delete mode 100644 samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 delete mode 100644 samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 delete mode 100644 samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 delete mode 100644 samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 delete mode 100644 samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 delete mode 100644 samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae delete mode 100644 samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d delete mode 100644 samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 delete mode 100644 samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 delete mode 100644 samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 delete mode 100644 samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 delete mode 100644 samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 delete mode 100644 samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 delete mode 100644 samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 delete mode 100644 samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e delete mode 100644 samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 delete mode 100644 samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 delete mode 100644 samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c delete mode 100644 samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 delete mode 100644 samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-object-6/fixtures/history.txt delete mode 100644 samples/typed-object-6/receipts.bound delete mode 100644 samples/typed-object-7/TARGET.bound delete mode 100644 samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b delete mode 100644 samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf delete mode 100644 samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d delete mode 100644 samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 delete mode 100644 samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 delete mode 100644 samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 delete mode 100644 samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 delete mode 100644 samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 delete mode 100644 samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 delete mode 100644 samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 delete mode 100644 samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 delete mode 100644 samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae delete mode 100644 samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d delete mode 100644 samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 delete mode 100644 samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 delete mode 100644 samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 delete mode 100644 samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 delete mode 100644 samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 delete mode 100644 samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 delete mode 100644 samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e delete mode 100644 samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 delete mode 100644 samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 delete mode 100644 samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed-object-7/fixtures/history.txt delete mode 100644 samples/typed-object-7/receipts.bound delete mode 100644 samples/typed/TARGET.bound delete mode 100644 samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 delete mode 100644 samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 delete mode 100644 samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 delete mode 100644 samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 delete mode 100644 samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 delete mode 100644 samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c delete mode 100644 samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 delete mode 100644 samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 delete mode 100644 samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b delete mode 100644 samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 delete mode 100644 samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 delete mode 100644 samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c delete mode 100644 samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 delete mode 100644 samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 delete mode 100644 samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff delete mode 100644 samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 delete mode 100644 samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 delete mode 100644 samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f delete mode 100644 samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 delete mode 100644 samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 delete mode 100644 samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 delete mode 100644 samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea delete mode 100644 samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c delete mode 100644 samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e delete mode 100644 samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 delete mode 100644 samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e delete mode 100644 samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e delete mode 100644 samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab delete mode 100644 samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 delete mode 100644 samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 delete mode 100644 samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 delete mode 100644 samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 delete mode 100644 samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 delete mode 100644 samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a delete mode 100644 samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e delete mode 100644 samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 delete mode 100644 samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 delete mode 100644 samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 delete mode 100644 samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c delete mode 100644 samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 delete mode 100644 samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d delete mode 100644 samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c delete mode 100644 samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 delete mode 100644 samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c delete mode 100644 samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 delete mode 100644 samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d delete mode 100644 samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 delete mode 100644 samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 delete mode 100644 samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 delete mode 100644 samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 delete mode 100644 samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 delete mode 100644 samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d delete mode 100644 samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf delete mode 100644 samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 delete mode 100644 samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 delete mode 100644 samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 delete mode 100644 samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a delete mode 100644 samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 delete mode 100644 samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 delete mode 100644 samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a delete mode 100644 samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 delete mode 100644 samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca delete mode 100644 samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c delete mode 100644 samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 delete mode 100644 samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 delete mode 100644 samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd delete mode 100644 samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d delete mode 100644 samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 delete mode 100644 samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 delete mode 100644 samples/typed/fixtures/history.txt delete mode 100644 samples/typed/receipts.bound delete mode 100644 samples/walk-publication/inputs/001-left-conflicting-wire.bound delete mode 100644 samples/walk-publication/inputs/002-left-context.bound delete mode 100644 samples/walk-publication/inputs/003-right-conflicting-wire.bound delete mode 100644 samples/walk-publication/inputs/004-right-context.bound delete mode 100644 samples/walk-publication/inputs/005-left-local.bound delete mode 100644 samples/walk-publication/inputs/006-right-local.bound delete mode 100644 samples/walk-publication/inputs/007-right-inventory.bound delete mode 100644 samples/walk-publication/inputs/008-altered.bound delete mode 100644 samples/walk-publication/inputs/009-partial-payload.bound delete mode 100644 samples/walk-publication/inputs/010-outside-prefix.bound delete mode 100644 samples/walk-publication/inputs/011-unauthorized-prefix.bound delete mode 100644 samples/walk-publication/inputs/012-stale-base.bound delete mode 100644 samples/walk-publication/inputs/013-left-payload.bound delete mode 100644 samples/walk-publication/inputs/014-missing-earlier-prefix.bound delete mode 100644 samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound delete mode 100644 samples/walk-publication/inputs/016-right-acknowledged.bound delete mode 100644 samples/walk-publication/inputs/017-no-payload.bound delete mode 100644 samples/walk-publication/inputs/018-left-inventory.bound delete mode 100644 samples/walk-publication/inputs/019-right-payload.bound delete mode 100644 samples/walk-publication/inputs/020-next-local.bound delete mode 100644 samples/walk-publication/inputs/021-alternate-origin-context.bound delete mode 100644 samples/walk-publication/inputs/022-select-alternate.bound delete mode 100644 samples/walk-publication/inputs/023-undeclared-context-lineage.bound delete mode 100644 samples/walk-publication/inputs/024-new-left-local.bound delete mode 100644 samples/walk-publication/inputs/025-right-final-inventory.bound delete mode 100644 samples/walk-publication/inputs/026-interruption-payload.bound delete mode 100644 samples/walk-publication/inputs/027-left-conflicting-wire.bound delete mode 100644 samples/walk-publication/inputs/028-left-context.bound delete mode 100644 samples/walk-publication/inputs/029-right-conflicting-wire.bound delete mode 100644 samples/walk-publication/inputs/030-right-context.bound delete mode 100644 samples/walk-publication/inputs/031-left-local.bound delete mode 100644 samples/walk-publication/inputs/032-right-local.bound delete mode 100644 samples/walk-publication/inputs/033-right-inventory.bound delete mode 100644 samples/walk-publication/inputs/034-altered.bound delete mode 100644 samples/walk-publication/inputs/035-partial-payload.bound delete mode 100644 samples/walk-publication/inputs/036-outside-prefix.bound delete mode 100644 samples/walk-publication/inputs/037-unauthorized-prefix.bound delete mode 100644 samples/walk-publication/inputs/038-stale-base.bound delete mode 100644 samples/walk-publication/inputs/039-left-payload.bound delete mode 100644 samples/walk-publication/inputs/040-missing-earlier-prefix.bound delete mode 100644 samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound delete mode 100644 samples/walk-publication/inputs/042-right-acknowledged.bound delete mode 100644 samples/walk-publication/inputs/043-no-payload.bound delete mode 100644 samples/walk-publication/inputs/044-left-inventory.bound delete mode 100644 samples/walk-publication/inputs/045-right-payload.bound delete mode 100644 samples/walk-publication/inputs/046-next-local.bound delete mode 100644 samples/walk-publication/inputs/047-alternate-origin-context.bound delete mode 100644 samples/walk-publication/inputs/048-select-alternate.bound delete mode 100644 samples/walk-publication/inputs/049-undeclared-context-lineage.bound delete mode 100644 samples/walk-publication/inputs/050-new-left-local.bound delete mode 100644 samples/walk-publication/inputs/051-right-final-inventory.bound delete mode 100644 samples/walk-publication/inputs/052-interruption-payload.bound delete mode 100644 samples/walk-publication/left-1/TARGET.bound delete mode 100644 samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf delete mode 100644 samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca delete mode 100644 samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 delete mode 100644 samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 delete mode 100644 samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 delete mode 100644 samples/walk-publication/left-3/TARGET.bound delete mode 100644 samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc delete mode 100644 samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f delete mode 100644 samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 delete mode 100644 samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 delete mode 100644 samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 delete mode 100644 samples/walk-publication/right-2/TARGET.bound delete mode 100644 samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a delete mode 100644 samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 delete mode 100644 samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf delete mode 100644 samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 delete mode 100644 samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 delete mode 100644 samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 delete mode 100644 samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c delete mode 100644 samples/walk-publication/right-4/TARGET.bound delete mode 100644 samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 delete mode 100644 samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 delete mode 100644 samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f delete mode 100644 samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 delete mode 100644 samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 delete mode 100644 samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 delete mode 100644 samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 delete mode 100644 src/host/history-input.ts delete mode 100644 test/fold-target.test.ts delete mode 100644 test/formed-place.test.ts create mode 100644 vectors/attest-evidence.json create mode 100644 vectors/historical-build.json create mode 100644 vectors/historical-presentation.json create mode 100644 vectors/prose-views.json diff --git a/README.md b/README.md index 50adba3..5585d31 100644 --- a/README.md +++ b/README.md @@ -27,13 +27,14 @@ Use this flow to review a project change or check a dependency's declared contra For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. -After cloning this repository, fold the example place with the instrument: +Run the executable example with the installed CLI: ```sh -npx @lapxo/bound@0.1.5 samples/typed +npm install @lapxo/bound@0.1.5 +node node_modules/@lapxo/bound/tools/samples/run-typed.mjs ``` -The folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). +The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. diff --git a/TARGET.bound b/TARGET.bound index 73984d7..d7a6f7e 100644 --- a/TARGET.bound +++ b/TARGET.bound @@ -1,14 +1,14 @@ -bound-lock/1 about="# @lapxo/bound\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nAfter cloning this repository, fold the example place with the instrument:\n\n```sh\nnpx @lapxo/bound@0.1.5 samples/typed\n```\n\nThe folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:formed-native-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock -bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of the place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence grants neither normative authority nor independent observation origins. Existing Topos authority and coverage remain the admission boundary.\n\nA sample is a place: fold its declared evidence view with the instrument. The native-view vector invokes only Bound: bootstrap with an external host signer, sign and land evidence, inspect help, lines and native receipts, inspect authenticated evidence, and redeliver retained signed bytes. No private key, registry or validation executor is shipped. The vector names its external signer parameters explicitly; absence cannot be replaced by a fabricated signature.\n\nThe rejected sample contains an uncovered write and altered signed bytes. Both refuse by name. Withdrawals remove only covered normative lines; authenticated delivery remains inspectable. Aliases of one key grant no independence. Native receipt fixture bytes are retained output from the instrument, not observations written by a test.\n" at=witness:native-evidence-sample by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock +bound-lock/1 about="# @lapxo/bound\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock +bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary.\n\nRun `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins.\n\nThe no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped.\n" at=witness:publication-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock bound-lock/1 about="# Contributing to Bound\n\nBring a counterexample, an observation or a proposed lot. Include the inputs and the output that led you to it. A signature establishes who was authorized to speak; it does not make their result true.\n\n## Set up a working copy\n\nClone the repository and use the Node version supported by package.json. If package-lock.json is present, run npm ci; otherwise use npm install --ignore-scripts --no-package-lock. Then run:\n\n```sh\nnpm run build\nnpm test\n```\n\nThese are development checks, not project acceptance. For a place with admitted trust context and native receipts, run the product judgement as well:\n\n```sh\nnpx @lapxo/bound@0.1.0 fold --check\n```\n\nPreserve a refusal and its exit status in your report. Do not borrow a neighbouring checkout's ledger or substitute local bytes for a named pin.\n\n## Make the smallest useful change\n\nBound owns admission, folding and evidence. Topos owns grammar, forms, classes, views and their contracts. A selected topos owns domain measurement. Obligations owns the algebra. Keep each change in its layer; do not put a domain decoder, path-based inference or a fallback for a missing pin into Bound.\n\nAn algebra change needs an independent oracle and a counterexample. A host change needs evidence for authentic bytes, failure propagation or reuse. A view change needs its declared region and implementation identity. A test should fail for a plausible incorrect implementation, not assert a source string or repeat the same expression on both sides.\n\nKeep regressions for changed signatures, unauthorized coverage, exact-id withdrawal, conflicting evidence, local versus travelling acts, corrupt content and duplicate delivery. Consolidate repeated setup and duplicate scenarios without removing distinct falsifiers.\n\n## Propose and admit\n\nKeep proposal and signed-lot files outside the repository. Use the current admitted wire, by=target, and no preassigned epoch or signature. The team's admitted key signs the lot; Bound admits it under scope coverage. The [usage guide](docs/usage.md) explains the transaction and external key-file requirements.\n\nSend the proposed lines with the leaf changes they render. A hand-edited render is evidence of the intended change, not an admitted contribution. Do not edit the accepted TARGET to make a test or ceiling pass. If a render disagrees with the lock, fix the proposed lines and re-render it.\n\nCommit only the project's TARGET.bound and native receipts.bound as bound files. The first .gitignore line excludes .bound/. Do not commit keys, stores, ledgers, caches, capsules, archives or vendored dependencies.\n\n## Submit a pull request\n\nExplain the concrete behavior before and after the change, the affected layer, and the checks you ran. Include stdout, stderr and exit status for a CLI case. State which reader and input bytes produced the evidence; a source harness is not an installed-package proof.\n\nPolicy changes receive explicit team review separately from measurements of the proposed source. Keep incompatible readings and their origins visible. Never remove a failing test or weaken a ceiling to obtain acceptance. Withdraw statements through their admitted history; do not rewrite prior signatures, tags or releases.\n\nDocumentation and workflows follow the same review: propose their lines and include the rendered changes.\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-1 shape=CONTRIBUTING.md value=lock -bound-lock/1 about="# Exact release artifact\n\nAn archive digest names its exact bytes. It is distinct from a Topos standing identity. The pipeline produces one archive for the registry and forge; it does not pack a second file and assume equality.\n\nThe public conformance vector uses only the installed instrument. Two unrelated formed places resolve their named standing and artifacts, then print their cells. A changed artifact with the retained digest refuses before execution. This proves the host materialization boundary; it does not claim that file presence is an installed-release receipt.\n\nAcceptance of the candidate additionally requires its exact member list, archive hash, clean installation and product captures from that archive, without source conditions or a checkout ledger. Changed implementation bytes require a new candidate capture. Packing, installing and publishing are host acts; the vector does not authenticate to a registry or publish. The owner approves that exact archive after verification.\n" at=witness:native-artifact-sample by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-archive shape=docs/contracts/archive.md value=lock +bound-lock/1 about="# Exact release artifact\n\nPacking is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes.\n\nThe archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed.\n\nThe samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan.\n\nThis is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions.\n\nRendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-archive shape=docs/contracts/archive.md value=lock bound-lock/1 about="# Explanation — historical profile\n\nThe declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose.\n\n# README — historical profile\n\nThe declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid.\n\n# Citation file — historical profile\n\nThe declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract.\n\n# Guide — historical profile\n\nThe declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound.\n\n# Reference — historical profile\n\nThe declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid.\n\n# Manifest render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package.\n\n# Workflow render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate.\n\n# Usage render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors.\n\n# Build configuration — historical profile\n\nThe declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-documents shape=docs/contracts/documents.md value=lock bound-lock/1 about="# Help view\n\nA declared help view projects the instrument verb and flag table. It is generated from that table, not copied prose or a claim that another world is supported. Asking it does not authorize a line or call a selected external reader. The sample declares view/help value=help, checks the printed three verbs and refuses a declared view whose region has no provider.\n\n# Lines view\n\nA declared lines view projects canonical normative standing as wire lines. It is a configuration reading; it does not compute encounters or turn evidence into authority. Live exact withdrawals disappear from normative standing while authenticated evidence remains inspectable through its own view. The sample verifies signatures and attribution, redelivery ONCE, exact withdrawals, tampering and uncovered writes. A declared missing provider refuses rather than returning an invented reading.\n\n# Receipts view\n\nThe native receipt view projects the fold through the admitted Topos receipt contract. The sample uses the published place profile receipts@8|receipts@0|receipts@1: observations, summary and current region bytes. These are that profile’s declared projections, not a universal enumeration of resolutions. A receipt identifies the actual observed set; it is not an origin or a valuation. The sample obtains a native receipt, verifies its signed delivery from an attest-class key through evidence, and checks idempotent delivery. The refused sample names an uncovered write, tampered signature and declared view without a provider. No harness-written JSON is used as a receipt.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n\n# Why a coordinate\n\n`bound fold --as why` explains the live declarations whose exact `needs` member or `shape` names that coordinate. It prints the selector, witness and value. It does not compute an object encounter or infer authority from a path. The published sample bootstraps two independent places, explains each declared source coordinate and prints `OPEN` for a coordinate no declaration names. That absence is not zero, green or a state. A declared view with no provider refuses by name with a nonzero status. Calling why without a coordinate is not this sample’s acceptance vector; its empty historical capture pays nothing.\n\n# Declared programs\n\nThe programs view asks the selected Topos demand-status projection at resolution 8. Selection, minimum, evidence, elapsed reading and time ceiling coordinates belong to that Topos contract; Bound only hands admitted declarations and region receipts. Program status is derived from that evidence and the declared dependency graph. A demand with no evidence remains unread, its dependant remains blocked, and a missing elapsed reading keeps deadline unread. No cell encounter, origin count or information quantity is computed by this view. The sample uses the published SDK implementation on two unrelated demand chains, captures equal readings twice, names the next unblocked coordinate, and refuses dependency cycles. It does not provide stage conformance evidence or claim either program closed.\n\n# Demand card\n\nThe declared card view asks the selected Topos demand-card projection at resolution 8. It reads the selected demand coordinates, their explicit dependencies and the handed evidence region under selectors declared by that Topos. It does not infer progress from files or convert a declaration into proof. A requirement without evidence is unread; an unpaid predecessor blocks its dependant. The next coordinate is an unblocked unpaid demand. Deadline is unread when no elapsed receipt is handed; absence is not zero. These labels describe program evidence, not Obligations cell states. The sample pins the implementation member from the published Topos SDK, folds two unrelated places twice with equal stdout and refuses a declared dependency cycle. This sample intentionally has no evidence to close either program; it certifies the projection of absence and order, not stage acceptance.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-views shape=docs/contracts/views.md value=lock bound-lock/1 about="# Published contracts\n\nEvery public surface names its contract, accepted sample, captured executable vector and rejected sample. Missing members, differing artifact digests and failed vectors remain unpaid. Publication conformance is distinct from installed-artifact acceptance.\n\nThe selected Topos projects each quartet as a reading through the existing wire. Execution proofs are dependency readings; identical vector bytes share one proof. Each reading names its exact handed inputs and dependent receipt digests. Bound verifies those closures and keeps native count/bytes receipts by digest. A closed reading costs no new execution. The publication aggregate reads the quartet receipts; it never starts an inventory batch.\n\nExecution slots, per-execution timeout and response bytes are declared resource lines in the selected Topos. Bounds remain unchanged. A failed reading is not cached as a successful proof. Earlier completed readings stay verified, so a later refusal does not force them to execute again. Changed, missing or corrupt bytes cannot reuse their receipts. Output and execution history retain their exact coordinates.\n\n## Act cost\n\nEach declared reading and each host invocation is measured separately. The total duration of a pass is a diagnostic; it is not the cost of one indivisible act. The cost/act ceiling reads the largest measured act or the remaining unpartitioned host work. Nested invocations are not charged twice. A slow or refused act retains its cost. Native reading receipts retain measured seconds separately from semantic identity; reusing a receipt performs no new reader execution. Missing historical durations are not invented as zero.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n" at=witness:public-receipts-verify-without-private-store by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-contract shape=docs/contracts/publication.md value=lock bound-lock/1 about="# Using Bound\n\nThis guide covers the current CLI in a place whose wire and authority are already admitted. A fresh unsigned TARGET is a proposal, not a trusted project. The prepared repository is not yet a certified empty-clone bootstrap.\n\n## Before the first fold\n\nYou need the team's accepted TARGET and trust context, authentic bytes for each selected digest, and the readers/views that TARGET names. Do not borrow a neighbouring repository's ledger or copy node_modules to make a missing pin look available.\n\nThe published repository carries exactly TARGET.bound and receipts.bound as bound files. Local admission history lives in the ignored .bound/ store. Published standing excludes the signature envelope; owner public keys retain their signatures.\n\nStart by asking for help and folding the project. If a selected view is unavailable, use the named refusal and its fix; do not invent an output with a similar name.\n\n## Keys and coverage\n\nUse a named key already admitted by the project. The authority contract declares its public key, class and scope coverage. Signing uses a declared port. The lock names `keys/ measure=signer value=`; `signer/timeout` and `signer/response-bytes` bound each invocation. The built-in `file` port reads a matching PKCS8 PEM outside the repository through `--key-file`. For a command port, the host supplies a `BOUND_SIGNERS` registry mapping that admitted name to `{ \"kind\": \"command\", \"executable\": \"...\", \"args\": [] }`. A repository declaration cannot authorize a program. `--signer ` must match the admitted selection.\n\nA new device must have its public key and coverage admitted by an authority that already covers the intended scope. The CLI does not currently certify silent key creation or tap-to-sign. This guide does not substitute a self-authorized fixture key for the team's authority.\n\nFor automation through the file port, supply the private key through the runner's secret storage to a temporary external file with restricted permissions. A command signer receives the lot once as canonical signed bytes, one line per record in order. It returns one canonical wire response per record, containing `by` and `sig`, in that same order. Bound verifies the entire reply against the admitted public key before any admission. Timeout, nonzero exit, missing or invalid replies refuse the whole lot; raw signer output is not logged. Hosts can keep private keys outside Bound through this port. Key generation, storage and rotation belong to the host. Do not print, commit or upload it. A source-control token and a Bound authority key have different purposes. Key rotation and revocation are changes to the admitted authority contract, not edits that erase prior signatures.\n\n## Proposal → signature → admission → reading\n\nPrepare the proposed lines outside the repository. Each line must use the current wire's fields, forms and required set. Configuration retains its legacy required fields, including `at`. Typed cells, claims and marks use their exact row grammar; `role=reads` or `at` cannot repair an incomplete typed record.\n\nA proposal names `by=target` and omits epoch/signature. The CLI assigns epoch from admitted history when signing. Never copy an epoch from an example or change a signed line's body.\n\nUse the signing and admission transaction in the README. Shell `&&` prevents a failed sign from being followed by land. Successful signing alone does not mean admission. Successful admission alone does not mean every requirement is paid. Fold after land and inspect its states, receipts and exit status.\n\nCLI sign authenticates wire inscriptions. It is different from the object's travelling ceiling sign. The selected Topos decodes spans and supplies origin/witness context; Bound must not guess those from by, widens or a path.\n\n## Reading and withdrawing\n\nAsk only for a view admitted by the project, such as cells. A local join widens that cell with a witness; it leaves the travelling ceiling live. A travelling require supplies a floor. Claims carry distinct origins; their signatures do not by themselves establish independent origins.\n\nFor typed histories, a negative record names the exact id in takes. Withdrawing a claim removes that live observation; withdrawing a join removes that local widening, not the sign. A fresh claim with the same content is a new identity, not resurrection of a withdrawn id. Re-delivery of the same signed bytes is idempotent.\n\nFor configuration, the negative line preserves the exact non-envelope selectors and changes value to withdraw. Do not withdraw and replace identical selectors in the same batch. Use a new epoch when superseding an alphabet declaration. Never withdraw evidence merely to obtain a green verdict.\n\n## Receipts and refusals\n\nreceipts.bound is native fold output. Do not write it by hand, use JSON from a test as a receipt, or copy receipts from another tree. Unchanged inputs can reuse verified region receipts; missing bytes require recomputation or a refusal. A duplicate receipt does not create another origin.\n\nREFUSE·wire means the current grammar does not admit the record. REFUSE·pin/release means named authentic content or its closure is unavailable or does not match. REFUSE·view means the requested view cannot be rendered under its contract. Authority refusal means the signer is not covered. Keep the line and the failed exit status; follow an explicit fix without changing the named digest or dropping a conflicting statement.\n\nrelease/blocks is policy read by the fold. Its admitted category links select existing obligations. The fold prints each missing reading or crossed ceiling as BLOCK; a blocked or incomplete policy is not READY. Read the captured verdict for the exact candidate instead of inferring acceptance from a successful render.\n\n## Repository and PR review\n\nThe accepted TARGET is independent of a contributor's scan. Commit native receipts and admitted renders, not local .bound/ state. A page disagreeing with TARGET must be re-rendered; a ceiling is not lowered to fit the page.\n\nA contribution is a proposed lot with the leaf changes rendered from it. Send that lot for admission by the team's coverage. Do not submit hand-edited lock output as already accepted. Check secrets, extra bound files, foreign vendoring and uncaptured page claims before review.\n\nA review includes the product fold, meaningful suites and verification of the rendered bytes. Preserve their actual output and exit status.\n\n## Declaring a demand\n\nA new demand records what remains to be proved. Admission does not create conformance evidence or pay it. An OWED line after land says the declaration was admitted and remains unpaid. Signing authority and conformance evidence are separate inputs.\n\nThe selected program projection reads declared requirements and handed evidence. Missing evidence stays unread; a missing elapsed-time reading is not zero. A dependency cannot close before its requirements and predecessors. Declaring a plan never certifies a release.\n" at=witness:declared-demand-close by=target form=alphabet measure=text role=writes scope=prose/en/files/public-2 shape=docs/usage.md value=lock bound-lock/1 about="# Walk\n\n`bound fold --as walk@` compares the admitted place with an authenticated peer inventory. Resolution is interpreted by the declared Topos selection and projection contract; it is not restricted to three fixed numbers. The wire declares region membership, context, origin and cuts. The output names touched regions, open regions and payload bytes; protocol and imported bytes carry their own units.\n\nForeign history retains its signed origin epoch. Sender keys authenticate that history and never grant coverage or independent origins in the receiver. Whole-region prefixes are verified before ingress. Import and the receiver-signed local receipt commit atomically; only that receipt advances the receiver's local epoch. Foreign withdrawals are confined to the same authenticated origin and exact identifier. A repeated valid delivery adds no lines and retains its existing import receipt. A rejected or interrupted ingress adds neither evidence nor a receipt.\n\nThe published sample uses the same compiled public reader on measurement and artifact places. It compares equal summaries, opens a differing region, exchanges at intermediate declared resolutions, converges by union, retains disagreement and verifies replay after a later local act. It rejects tampered payloads, missing records, unauthorized signatures, non-prefix epochs and undeclared context changes. It interrupts a real receiver signer and verifies unchanged ingress and local history. Dead-owner recovery is a separate host action; this view does not silently recover it. The typed object's origin-local claims and withdrawals are a separate conformance vector, not inferred from configuration counts.\n" at=witness:publish-native-walk-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/view-walk shape=docs/contracts/view-walk.md value=lock bound-lock/1 about="# fold\n\n`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately.\n\n# land\n\n`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot.\n\n# sign\n\n`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-cli shape=docs/contracts/cli.md value=lock -bound-lock/1 about="## Typed cell, claim and mark records\n\nThe typed profile is selected by admitted wire/object/* declarations in Topos. A cell names its selected form, parameter bytes, topos standing and declared restsOn coordinates. Positive ceilings travel; a witnessed join is local; positive floors travel. Claims carry independently admitted origin evidence. Bound projects the admitted history into Obligations and prints its four states; configuration readings do not compute those encounters.\n\nEach sample is a place with TARGET.bound, native receipts.bound and fixture data whose hashes the lock names. After a clone, run `npx @lapxo/bound@0.1.5 samples/typed`; `samples/artifacts` demonstrates another form through the same path. No sample runner or private key is required. The native vector folds the signed histories for compatible claims, both CONFLICT causes, FORBIDDEN, exact withdrawals and reuse, and refuses floor/local. It compares the CELL lines with the directly constructed Obligations scene.\n\nA history artifact digest closes its exact bytes; it is not the identity of the place. Digest-only place selection waits for a semantic projection that preserves effective act order while excluding delivery envelopes. No archive or generic standing encoder is substituted for that contract.\n" at=witness:formed-native-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock +bound-lock/1 about="## Typed cell, claim and mark records\n\nThe object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile.\n\n`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope.\n\nThe common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission.\n\n| Row | Fields in addition to the common envelope | Meaning |\n| --- | --- | --- |\n| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. |\n| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. |\n| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. |\n| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. |\n| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. |\n| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. |\n| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. |\n\nEach row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin.\n\nFor a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested.\n\nThe cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred.\n\n`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification.\n\nAfter admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters.\n\nThe shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place.\n\n## Running the published place\n\nRun `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied.\n\nThe accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form.\n" at=witness:shipped-reference-paths by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock bound-lock/1 about=", & " at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cite/and value=lock bound-lock/1 about="\nOne history, several viewsIllustrative spatial view of B, C, G and independent D. C rests on B and G rests on C. B's travelling ceiling is 0 to 50 and travelling floor 40 to 100. Its local join widens only B to 0 to 100. Region receipts retain selected topos and implementation identity. Background points are decorative, not additional measured cells.\n\n\n\n\n\n\n\n\n\nTHE ALGEBRA IN 60 SECONDS\nOne history. Several views.\nA cell keeps its readings. A connection carries only what travels.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTravelling bounds\nceiling 0..50floor 40..100\nB → C → G\n\nLocal join\nB widens to 0..100\nThe travelling sign stays live.\n\n\nB\nC\nG\nD\nceiling 0..50\nceiling 0..50\nIndependent cell\nD declares no rest on B.\nRegion: the cells selected by a view\n\nSelected topos\nForms and views · pinned folded standing\nReceipts at resolution 1\nSemantic inputs + selected implementation\nIllustrative layout · connections denote declared rest · position and size do not measure importance\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-3 shape=docs/readme-assets/atlas.svg value=lock bound-lock/1 about="A REFUSE prints its line and stops. Nothing after it is a fact." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/a-refuse-plants.json|samples/no/a-refuse-plants.json role=demands scope=law/a-refuse-plants value=present @@ -25,7 +25,7 @@ bound-lock/1 about="A sequence of declared readings is not an indivisible act. P bound-lock/1 about="Algebraic vacuity, absence of observations and lack of recent activity are separate facts. A view may expose inactivity over an admitted window, but cannot rename it algebraic vacuity or read missing history as zero." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/02 value=lock bound-lock/1 about="Bind a package release with the pipeline views. Bind a page to its receipts with view/readme. Refuse a dependency drift with dep pins. Ask a second head that must agree." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/learn value=present bound-lock/1 about="Bound is the application of that algebra: signed bounds, folded by one meet, refused when they fork." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/paper value=present -bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nAfter cloning this repository, fold the example place with the instrument:\n\n```sh\nnpx @lapxo/bound@0.1.5 samples/typed\n```\n\nThe folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:formed-native-samples by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present +bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present bound-lock/1 about="Cite it as {name}." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock bound-lock/1 about="Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/paper value=lock bound-lock/1 about="Conflicting live wire declarations refuse by scope; no vacuous alphabet." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/wire/unique-live-alphabet.md|samples/yes/wire/unique-live-alphabet.json|vectors/wire/unique-live-alphabet.json|samples/no/wire/unique-live-alphabet.json role=demands scope=wire/unique-live-alphabet value=present @@ -83,8 +83,8 @@ bound-lock/1 about="Render documentation and standard MIT license; verify one ex bound-lock/1 about="Render only this place admitted MIT text through the selected generic prose provider." at=witness:bound/015-standard-mit by=target form=alphabet measure=id needs=LICENSE role=demands scope=view/license-native shape=LICENSE value=text@3 bound-lock/1 about="Render this place admitted manifest prose through the existing explicitly selected text provider; general document capability demands remain unchanged." at=policy:bound/presentation by=target form=alphabet measure=id needs=package.json role=demands scope=view/manifest-render shape=package.json value=text@3 bound-lock/1 about="Replace the built-in module parser with a declared bounded command under a published host closure contract, then remove Acorn from Bound. Prove identical implementation identities and refusal of an unclosed runtime graph on unrelated programs; no regex fallback and no universal source grammar in the kernel." at=witness:host-command-requires-its-publication-quartet by=target form=alphabet measure=status needs=docs/contracts/host-module-command.md|samples/no/host-module-command.json|samples/yes/host-module-command.json|vectors/host-module-command.json role=demands scope=plan/0.1.6/host-module-command value=present -bound-lock/1 about="Reported unpaid by the Head clean-install matrix: authority-class evidence is exposed but attest receipts appear in no view. Confirm against exact archive; preserve admitted attribution." at=witness:formed-publication-quartets-015 by=target form=alphabet measure=status needs=docs/contracts/evidence-view.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json role=demands scope=contract/published/attest-evidence-view value=present -bound-lock/1 about="Reported unpaid by the Head clean-install matrix: the typed-object sample is absent from the package. Confirm against exact archive; no receipt is fabricated." at=witness:formed-publication-quartets-015 by=target form=alphabet measure=status needs=docs/contracts/typed-object.md|samples/typed-object-1/TARGET.bound|samples/typed-object-7/TARGET.bound|vectors/typed-object.json role=demands scope=contract/published/typed-object-sample value=present +bound-lock/1 about="Reported unpaid by the Head clean-install matrix: authority-class evidence is exposed but attest receipts appear in no view. Confirm against exact archive; preserve admitted attribution." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/evidence-view.md|samples/yes/attest-evidence.json|vectors/attest-evidence.json|samples/no/attest-evidence.json role=demands scope=contract/published/attest-evidence-view value=present +bound-lock/1 about="Reported unpaid by the Head clean-install matrix: the typed-object sample is absent from the package. Confirm against exact archive; no receipt is fabricated." at=witness:head/014-clean-install by=target form=alphabet measure=status needs=docs/contracts/typed-object.md|samples/yes/typed-object.json|vectors/typed-object.json|samples/no/typed-object.json role=demands scope=contract/published/typed-object-sample value=present bound-lock/1 about="Rewriting hero, idea and the other section regions as compositions of atoms is 0.1.1, not done quietly here." at=policy:bound/010 by=target form=alphabet kind=conjecture measure=status role=demands scope=open/section-regions-as-atoms value=present bound-lock/1 about="Source origin is distinct from local coordinates; requested verified bytes are handed to every declared eligible reader." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/region/origin-input.md|samples/yes/region/origin-input.json|vectors/region/origin-input.json|samples/no/region/origin-input.json role=demands scope=region/origin-input value=present bound-lock/1 about="The coordinate of the observed host implementation digest in the native receipt set." at=policy:bound/receipts by=target form=alphabet measure=id role=writes scope=audit/wire/receipt-instrument value=instrument/implementation @@ -312,7 +312,7 @@ bound-lock/1 about="what the second head found, which leaves the place has writt bound-lock/1 about="when the apart claim is withdrawn" at=policy:bound/door by=target form=alphabet measure=id role=writes scope=form/style/fold/back value=2.2 bound-lock/1 about="where a located world keeps each region file, by directory and extension, so the host loads the tree beside the pin" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=release/layout value=src/regions:.ts bound-lock/1 about="who signs this place" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=author value=Lapxo -bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"CONTRIBUTING.md\",\n \"LICENSE\",\n \"README.md\",\n \"TARGET.bound\",\n \"dist/**/*\",\n \"docs/contracts/*.md\",\n \"docs/contracts/*.publication.json\",\n \"docs/contracts/archive.md\",\n \"docs/contracts/cli.md\",\n \"docs/contracts/documents.md\",\n \"docs/contracts/evidence-view.md\",\n \"docs/contracts/publication.inventory.json\",\n \"docs/contracts/typed-object.md\",\n \"docs/contracts/view-walk.md\",\n \"docs/contracts/views.md\",\n \"docs/readme-assets/atlas.svg\",\n \"docs/usage.md\",\n \"package.json\",\n \"receipts.bound\",\n \"samples/artifacts-changed/TARGET.bound\",\n \"samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b\",\n \"samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/artifacts-changed/fixtures/history.txt\",\n \"samples/artifacts-changed/receipts.bound\",\n \"samples/artifacts/TARGET.bound\",\n \"samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b\",\n \"samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/artifacts/fixtures/history.txt\",\n \"samples/artifacts/receipts.bound\",\n \"samples/historical-document-views-1/CITATION.cff\",\n \"samples/historical-document-views-1/README.md\",\n \"samples/historical-document-views-1/TARGET.bound\",\n \"samples/historical-document-views-1/docs/guide.md\",\n \"samples/historical-document-views-1/docs/reference.md\",\n \"samples/historical-document-views-1/docs/why.md\",\n \"samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780\",\n \"samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-1/manifest.json\",\n \"samples/historical-document-views-1/notes.md\",\n \"samples/historical-document-views-1/process.yml\",\n \"samples/historical-document-views-1/receipts.bound\",\n \"samples/historical-document-views-1/tsconfig.json\",\n \"samples/historical-document-views-2/CITATION.cff\",\n \"samples/historical-document-views-2/README.md\",\n \"samples/historical-document-views-2/TARGET.bound\",\n \"samples/historical-document-views-2/docs/guide.md\",\n \"samples/historical-document-views-2/docs/reference.md\",\n \"samples/historical-document-views-2/docs/why.md\",\n \"samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780\",\n \"samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd\",\n \"samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-2/manifest.json\",\n \"samples/historical-document-views-2/notes.md\",\n \"samples/historical-document-views-2/process.yml\",\n \"samples/historical-document-views-2/receipts.bound\",\n \"samples/historical-document-views-2/tsconfig.json\",\n \"samples/historical-document-views-3/CITATION.cff\",\n \"samples/historical-document-views-3/README.md\",\n \"samples/historical-document-views-3/TARGET.bound\",\n \"samples/historical-document-views-3/docs/guide.md\",\n \"samples/historical-document-views-3/docs/reference.md\",\n \"samples/historical-document-views-3/docs/why.md\",\n \"samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780\",\n \"samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd\",\n \"samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6\",\n \"samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-3/manifest.json\",\n \"samples/historical-document-views-3/notes.md\",\n \"samples/historical-document-views-3/process.yml\",\n \"samples/historical-document-views-3/receipts.bound\",\n \"samples/historical-document-views-3/tsconfig.json\",\n \"samples/historical-document-views-4/CITATION.cff\",\n \"samples/historical-document-views-4/README.md\",\n \"samples/historical-document-views-4/TARGET.bound\",\n \"samples/historical-document-views-4/catalogue.json\",\n \"samples/historical-document-views-4/catalogue.md\",\n \"samples/historical-document-views-4/catalogue.yml\",\n \"samples/historical-document-views-4/docs/guide.md\",\n \"samples/historical-document-views-4/docs/reference.md\",\n \"samples/historical-document-views-4/docs/why.md\",\n \"samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66\",\n \"samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-4/receipts.bound\",\n \"samples/historical-document-views-4/tsconfig.json\",\n \"samples/historical-document-views-5/CITATION.cff\",\n \"samples/historical-document-views-5/README.md\",\n \"samples/historical-document-views-5/TARGET.bound\",\n \"samples/historical-document-views-5/catalogue.json\",\n \"samples/historical-document-views-5/catalogue.md\",\n \"samples/historical-document-views-5/catalogue.yml\",\n \"samples/historical-document-views-5/docs/guide.md\",\n \"samples/historical-document-views-5/docs/reference.md\",\n \"samples/historical-document-views-5/docs/why.md\",\n \"samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66\",\n \"samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3\",\n \"samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-5/receipts.bound\",\n \"samples/historical-document-views-5/tsconfig.json\",\n \"samples/historical-document-views-6/CITATION.cff\",\n \"samples/historical-document-views-6/README.md\",\n \"samples/historical-document-views-6/TARGET.bound\",\n \"samples/historical-document-views-6/catalogue.json\",\n \"samples/historical-document-views-6/catalogue.md\",\n \"samples/historical-document-views-6/catalogue.yml\",\n \"samples/historical-document-views-6/docs/guide.md\",\n \"samples/historical-document-views-6/docs/reference.md\",\n \"samples/historical-document-views-6/docs/why.md\",\n \"samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66\",\n \"samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c\",\n \"samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\",\n \"samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\",\n \"samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\",\n \"samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3\",\n \"samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\",\n \"samples/historical-document-views-6/receipts.bound\",\n \"samples/historical-document-views-6/tsconfig.json\",\n \"samples/native-views/inputs/001-north.proposal\",\n \"samples/native-views/inputs/002-north.proposal\",\n \"samples/native-views/inputs/003-south.proposal\",\n \"samples/native-views/inputs/004-south.proposal\",\n \"samples/native-views/inputs/005-alias.proposal\",\n \"samples/native-views/inputs/006-alias.proposal\",\n \"samples/native-views/inputs/007-uncovered.proposal\",\n \"samples/native-views/inputs/008-altered.bound\",\n \"samples/native-views/inputs/009-withdraw.proposal\",\n \"samples/native-views/inputs/010-north.proposal\",\n \"samples/native-views/inputs/011-north.proposal\",\n \"samples/native-views/inputs/012-south.proposal\",\n \"samples/native-views/inputs/013-south.proposal\",\n \"samples/native-views/inputs/014-alias.proposal\",\n \"samples/native-views/inputs/015-alias.proposal\",\n \"samples/native-views/inputs/016-native-receipt.proposal\",\n \"samples/native-views/inputs/016-uncovered.proposal\",\n \"samples/native-views/inputs/017-altered.bound\",\n \"samples/native-views/inputs/017-native-receipt.proposal\",\n \"samples/native-views/inputs/018-uncovered.proposal\",\n \"samples/native-views/inputs/018-withdraw.proposal\",\n \"samples/native-views/inputs/019-altered.bound\",\n \"samples/native-views/inputs/019-north.proposal\",\n \"samples/native-views/inputs/020-north.proposal\",\n \"samples/native-views/inputs/020-withdraw.proposal\",\n \"samples/native-views/inputs/021-south.proposal\",\n \"samples/native-views/inputs/022-south.proposal\",\n \"samples/native-views/inputs/023-alias.proposal\",\n \"samples/native-views/inputs/024-alias.proposal\",\n \"samples/native-views/inputs/025-uncovered.proposal\",\n \"samples/native-views/inputs/026-altered.bound\",\n \"samples/native-views/inputs/027-withdraw.proposal\",\n \"samples/native-views/inputs/028-north.proposal\",\n \"samples/native-views/inputs/029-north.proposal\",\n \"samples/native-views/inputs/030-south.proposal\",\n \"samples/native-views/inputs/031-south.proposal\",\n \"samples/native-views/inputs/032-alias.proposal\",\n \"samples/native-views/inputs/033-alias.proposal\",\n \"samples/native-views/inputs/034-native-receipt.proposal\",\n \"samples/native-views/inputs/035-native-receipt.proposal\",\n \"samples/native-views/inputs/036-uncovered.proposal\",\n \"samples/native-views/inputs/037-altered.bound\",\n \"samples/native-views/inputs/038-withdraw.proposal\",\n \"samples/native-views/place-1/TARGET.bound\",\n \"samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00\",\n \"samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07\",\n \"samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539\",\n \"samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb\",\n \"samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258\",\n \"samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79\",\n \"samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48\",\n \"samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d\",\n \"samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7\",\n \"samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54\",\n \"samples/native-views/place-1/receipts.bound\",\n \"samples/native-views/place-2/TARGET.bound\",\n \"samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3\",\n \"samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac\",\n \"samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab\",\n \"samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8\",\n \"samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09\",\n \"samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c\",\n \"samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d\",\n \"samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81\",\n \"samples/native-views/place-2/receipts.bound\",\n \"samples/native-views/place-3/TARGET.bound\",\n \"samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d\",\n \"samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7\",\n \"samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4\",\n \"samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700\",\n \"samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247\",\n \"samples/native-views/place-3/receipts.bound\",\n \"samples/native-views/place-4/TARGET.bound\",\n \"samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42\",\n \"samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681\",\n \"samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7\",\n \"samples/native-views/place-4/receipts.bound\",\n \"samples/native-views/place/TARGET.bound\",\n \"samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369\",\n \"samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a\",\n \"samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39\",\n \"samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b\",\n \"samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972\",\n \"samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720\",\n \"samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2\",\n \"samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2\",\n \"samples/program-views-1/TARGET.bound\",\n \"samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9\",\n \"samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-1/receipts.bound\",\n \"samples/program-views-2/TARGET.bound\",\n \"samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca\",\n \"samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-2/receipts.bound\",\n \"samples/program-views-3/TARGET.bound\",\n \"samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c\",\n \"samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-3/receipts.bound\",\n \"samples/program-views-4/TARGET.bound\",\n \"samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\",\n \"samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\",\n \"samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f\",\n \"samples/program-views-4/receipts.bound\",\n \"samples/query-views-1/TARGET.bound\",\n \"samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8\",\n \"samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1\",\n \"samples/query-views-1/receipts.bound\",\n \"samples/query-views-1/source.txt\",\n \"samples/query-views-2/TARGET.bound\",\n \"samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8\",\n \"samples/query-views-2/receipts.bound\",\n \"samples/query-views-2/release.txt\",\n \"samples/signing-port/absent-3/TARGET.bound\",\n \"samples/signing-port/command-2/TARGET.bound\",\n \"samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15\",\n \"samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5\",\n \"samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746\",\n \"samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025\",\n \"samples/signing-port/file-1/TARGET.bound\",\n \"samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692\",\n \"samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7\",\n \"samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630\",\n \"samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf\",\n \"samples/signing-port/inputs/001-lot.proposal\",\n \"samples/signing-port/inputs/002-signed.proposal\",\n \"samples/signing-port/inputs/003-lot.proposal\",\n \"samples/signing-port/inputs/004-invalid.proposal\",\n \"samples/signing-port/inputs/file-signature.proposal\",\n \"samples/typed-changed/TARGET.bound\",\n \"samples/typed-changed/artifacts.json\",\n \"samples/typed-changed/artifacts.vector.json\",\n \"samples/typed-changed/contract.json\",\n \"samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-changed/fixtures/history.txt\",\n \"samples/typed-changed/no.json\",\n \"samples/typed-changed/range.vector.json\",\n \"samples/typed-changed/receipts.bound\",\n \"samples/typed-changed/wire.json\",\n \"samples/typed-changed/yes.json\",\n \"samples/typed-object-1/TARGET.bound\",\n \"samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-1/fixtures/history.txt\",\n \"samples/typed-object-1/receipts.bound\",\n \"samples/typed-object-2/TARGET.bound\",\n \"samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-2/fixtures/history.txt\",\n \"samples/typed-object-2/receipts.bound\",\n \"samples/typed-object-3/TARGET.bound\",\n \"samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-3/fixtures/history.txt\",\n \"samples/typed-object-3/receipts.bound\",\n \"samples/typed-object-4/TARGET.bound\",\n \"samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14\",\n \"samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9\",\n \"samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-4/fixtures/history.txt\",\n \"samples/typed-object-4/receipts.bound\",\n \"samples/typed-object-5/TARGET.bound\",\n \"samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a\",\n \"samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14\",\n \"samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9\",\n \"samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41\",\n \"samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d\",\n \"samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-5/fixtures/history.txt\",\n \"samples/typed-object-5/receipts.bound\",\n \"samples/typed-object-6/TARGET.bound\",\n \"samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206\",\n \"samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a\",\n \"samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5\",\n \"samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14\",\n \"samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9\",\n \"samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14\",\n \"samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41\",\n \"samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d\",\n \"samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95\",\n \"samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c\",\n \"samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4\",\n \"samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-6/fixtures/history.txt\",\n \"samples/typed-object-6/receipts.bound\",\n \"samples/typed-object-7/TARGET.bound\",\n \"samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b\",\n \"samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf\",\n \"samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d\",\n \"samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1\",\n \"samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964\",\n \"samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463\",\n \"samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15\",\n \"samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14\",\n \"samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41\",\n \"samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4\",\n \"samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3\",\n \"samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae\",\n \"samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d\",\n \"samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1\",\n \"samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049\",\n \"samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7\",\n \"samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41\",\n \"samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9\",\n \"samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701\",\n \"samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e\",\n \"samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518\",\n \"samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328\",\n \"samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed-object-7/fixtures/history.txt\",\n \"samples/typed-object-7/receipts.bound\",\n \"samples/typed/TARGET.bound\",\n \"samples/typed/artifacts.json\",\n \"samples/typed/artifacts.vector.json\",\n \"samples/typed/contract.json\",\n \"samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87\",\n \"samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49\",\n \"samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7\",\n \"samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828\",\n \"samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0\",\n \"samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c\",\n \"samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684\",\n \"samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4\",\n \"samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b\",\n \"samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\",\n \"samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3\",\n \"samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c\",\n \"samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1\",\n \"samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091\",\n \"samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff\",\n \"samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7\",\n \"samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71\",\n \"samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f\",\n \"samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9\",\n \"samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2\",\n \"samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62\",\n \"samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea\",\n \"samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c\",\n \"samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e\",\n \"samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128\",\n \"samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e\",\n \"samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e\",\n \"samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab\",\n \"samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059\",\n \"samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998\",\n \"samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95\",\n \"samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3\",\n \"samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86\",\n \"samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a\",\n \"samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e\",\n \"samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771\",\n \"samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1\",\n \"samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903\",\n \"samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c\",\n \"samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880\",\n \"samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d\",\n \"samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c\",\n \"samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8\",\n \"samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c\",\n \"samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4\",\n \"samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d\",\n \"samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6\",\n \"samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3\",\n \"samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670\",\n \"samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4\",\n \"samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78\",\n \"samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d\",\n \"samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf\",\n \"samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94\",\n \"samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6\",\n \"samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6\",\n \"samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a\",\n \"samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2\",\n \"samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421\",\n \"samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a\",\n \"samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2\",\n \"samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca\",\n \"samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c\",\n \"samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994\",\n \"samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5\",\n \"samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd\",\n \"samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d\",\n \"samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08\",\n \"samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261\",\n \"samples/typed/fixtures/history.txt\",\n \"samples/typed/no.json\",\n \"samples/typed/range.vector.json\",\n \"samples/typed/receipts.bound\",\n \"samples/typed/wire.json\",\n \"samples/typed/yes.json\",\n \"samples/walk-publication/inputs/001-left-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/002-left-context.bound\",\n \"samples/walk-publication/inputs/003-right-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/004-right-context.bound\",\n \"samples/walk-publication/inputs/005-left-local.bound\",\n \"samples/walk-publication/inputs/006-right-local.bound\",\n \"samples/walk-publication/inputs/007-right-inventory.bound\",\n \"samples/walk-publication/inputs/008-altered.bound\",\n \"samples/walk-publication/inputs/009-partial-payload.bound\",\n \"samples/walk-publication/inputs/010-outside-prefix.bound\",\n \"samples/walk-publication/inputs/011-unauthorized-prefix.bound\",\n \"samples/walk-publication/inputs/012-stale-base.bound\",\n \"samples/walk-publication/inputs/013-left-payload.bound\",\n \"samples/walk-publication/inputs/014-missing-earlier-prefix.bound\",\n \"samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound\",\n \"samples/walk-publication/inputs/016-right-acknowledged.bound\",\n \"samples/walk-publication/inputs/017-no-payload.bound\",\n \"samples/walk-publication/inputs/018-left-inventory.bound\",\n \"samples/walk-publication/inputs/019-right-payload.bound\",\n \"samples/walk-publication/inputs/020-next-local.bound\",\n \"samples/walk-publication/inputs/021-alternate-origin-context.bound\",\n \"samples/walk-publication/inputs/022-select-alternate.bound\",\n \"samples/walk-publication/inputs/023-undeclared-context-lineage.bound\",\n \"samples/walk-publication/inputs/024-new-left-local.bound\",\n \"samples/walk-publication/inputs/025-right-final-inventory.bound\",\n \"samples/walk-publication/inputs/026-interruption-payload.bound\",\n \"samples/walk-publication/inputs/027-left-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/028-left-context.bound\",\n \"samples/walk-publication/inputs/029-right-conflicting-wire.bound\",\n \"samples/walk-publication/inputs/030-right-context.bound\",\n \"samples/walk-publication/inputs/031-left-local.bound\",\n \"samples/walk-publication/inputs/032-right-local.bound\",\n \"samples/walk-publication/inputs/033-right-inventory.bound\",\n \"samples/walk-publication/inputs/034-altered.bound\",\n \"samples/walk-publication/inputs/035-partial-payload.bound\",\n \"samples/walk-publication/inputs/036-outside-prefix.bound\",\n \"samples/walk-publication/inputs/037-unauthorized-prefix.bound\",\n \"samples/walk-publication/inputs/038-stale-base.bound\",\n \"samples/walk-publication/inputs/039-left-payload.bound\",\n \"samples/walk-publication/inputs/040-missing-earlier-prefix.bound\",\n \"samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound\",\n \"samples/walk-publication/inputs/042-right-acknowledged.bound\",\n \"samples/walk-publication/inputs/043-no-payload.bound\",\n \"samples/walk-publication/inputs/044-left-inventory.bound\",\n \"samples/walk-publication/inputs/045-right-payload.bound\",\n \"samples/walk-publication/inputs/046-next-local.bound\",\n \"samples/walk-publication/inputs/047-alternate-origin-context.bound\",\n \"samples/walk-publication/inputs/048-select-alternate.bound\",\n \"samples/walk-publication/inputs/049-undeclared-context-lineage.bound\",\n \"samples/walk-publication/inputs/050-new-left-local.bound\",\n \"samples/walk-publication/inputs/051-right-final-inventory.bound\",\n \"samples/walk-publication/inputs/052-interruption-payload.bound\",\n \"samples/walk-publication/left-1/TARGET.bound\",\n \"samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\",\n \"samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca\",\n \"samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\",\n \"samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68\",\n \"samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7\",\n \"samples/walk-publication/left-3/TARGET.bound\",\n \"samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc\",\n \"samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\",\n \"samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25\",\n \"samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\",\n \"samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88\",\n \"samples/walk-publication/right-2/TARGET.bound\",\n \"samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a\",\n \"samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286\",\n \"samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\",\n \"samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2\",\n \"samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\",\n \"samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532\",\n \"samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c\",\n \"samples/walk-publication/right-4/TARGET.bound\",\n \"samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58\",\n \"samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2\",\n \"samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\",\n \"samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\",\n \"samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345\",\n \"samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004\",\n \"samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7\",\n \"vectors/archive-conformance.json\",\n \"vectors/historical-document-views.json\",\n \"vectors/native-views.json\",\n \"vectors/program-views.json\",\n \"vectors/query-views.json\",\n \"vectors/signing-port.json\",\n \"vectors/typed-object.json\",\n \"vectors/walk-publication.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}\n" at=witness:native-public-surface by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock +bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"samples/typed/*.json\",\n \"tools/samples/*.mjs\",\n \"samples/walk/*.json\",\n \"vectors/native-walk.json\",\n \"docs/contracts/*.md\",\n \"docs/contracts/*.publication.json\",\n \"docs/contracts/publication.inventory.json\",\n \"samples/yes/typed-object.json\",\n \"samples/no/typed-object.json\",\n \"samples/yes/attest-evidence.json\",\n \"samples/no/attest-evidence.json\",\n \"vectors/typed-object.json\",\n \"vectors/attest-evidence.json\",\n \"samples/yes/signing-port.json\",\n \"samples/no/signing-port.json\",\n \"vectors/signing-port.json\",\n \"samples/yes/native-views.json\",\n \"samples/no/native-views.json\",\n \"vectors/native-views.json\",\n \"samples/yes/query-views.json\",\n \"samples/no/query-views.json\",\n \"vectors/query-views.json\",\n \"samples/yes/prose-views.json\",\n \"samples/no/prose-views.json\",\n \"vectors/prose-views.json\",\n \"samples/yes/program-views.json\",\n \"samples/no/program-views.json\",\n \"vectors/program-views.json\",\n \"samples/yes/historical-document-views.json\",\n \"samples/no/historical-document-views.json\",\n \"vectors/historical-document-views.json\",\n \"samples/yes/historical-build.json\",\n \"samples/no/historical-build.json\",\n \"vectors/historical-build.json\",\n \"samples/yes/historical-presentation.json\",\n \"samples/no/historical-presentation.json\",\n \"vectors/historical-presentation.json\",\n \"samples/yes/walk.json\",\n \"samples/no/walk.json\",\n \"vectors/walk-publication.json\",\n \"samples/yes/archive-conformance.json\",\n \"vectors/archive-conformance.json\",\n \"samples/no/archive-conformance.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock bound-lock/1 about="{\n \"profile\": \"quartet-process@1\",\n \"scope\": \"contract/published\",\n \"surface\": [\n \"contract/published/attest-evidence-view\",\n \"contract/published/cli/fold\",\n \"contract/published/cli/land\",\n \"contract/published/cli/sign\",\n \"contract/published/pipeline/archive\",\n \"contract/published/typed-object-sample\",\n \"contract/published/view/card\",\n \"contract/published/view/citation-file\",\n \"contract/published/view/explanation\",\n \"contract/published/view/guide\",\n \"contract/published/view/help\",\n \"contract/published/view/lines\",\n \"contract/published/view/manifest-render\",\n \"contract/published/view/programs\",\n \"contract/published/view/readme-historical\",\n \"contract/published/view/receipts\",\n \"contract/published/view/reference\",\n \"contract/published/view/release-workflow-render\",\n \"contract/published/view/tsconfig\",\n \"contract/published/view/usage-profile\",\n \"contract/published/view/walk\",\n \"contract/published/view/why\"\n ],\n \"note\": \"Explicit public-surface inventory. A selected coordinate without a descriptor is unpaid. Outstanding capability demands are not advertised implementations.\"\n}" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-inventory shape=docs/contracts/publication.inventory.json value=lock bound-lock/1 about="{count} hold" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/badge/held value=lock bound-lock/1 about="{lo}..{hi} · {state}" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/fold/together value=present @@ -421,9 +421,8 @@ bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabe bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabet measure=id role=writes scope=dep/topos-doc/born shape=dist/index.js value=sha256:04feef01a8c59cae7ea842198d1faf0091b424129872a847b41c7da0bca6fabf bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=dep/process-readings shape=55b78b6c0a8ae86d84853ae34773b3a6947b31738b1242b20efa0da492ca0547 value=sha256:3f17467234fe9fce12d2859da21f7deba428b8279b387d33cb769e932ada3ecc bound-lock/1 at=witness:bounded-process-vectors by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:1dc6bb7b0a8587eadc52dacc3a74934d8707042a1078182a687d10d3df2deb0e -bound-lock/1 at=witness:faithful-byte-inputs by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=a05c412a4514c59cab7cd0a4f4102bfd41dd14dc0878747820ffbae281447bbb value=sha256:627b74d04e54e218035ff8b09208f9868992e390c982551f164bfba4ddbfe36a -bound-lock/1 at=witness:native-workflow-receipts-627b74d04e54 by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=a05c412a4514c59cab7cd0a4f4102bfd41dd14dc0878747820ffbae281447bbb value=sha256:627b74d04e54e218035ff8b09208f9868992e390c982551f164bfba4ddbfe36a -bound-lock/1 at=witness:native-workflow-receipts-627b74d04e54 by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:3a0cf17c1919b99b2f2b1643bddf53b4162c34b46d084e03ada9bf8f5420696e +bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=dep/publication-readings shape=c298746ef68fdf192a0feede8f514e42f28700a2c2bc542edabee7c7c090f64d value=sha256:63404128efbf4173dfcb8ba757cf9c8cc41f692dd13d5d00a0835d8c70dec7e0 +bound-lock/1 at=witness:per-reading-publication by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:ded485f3bf8ac0f11c73f61223f4180038b8c44904ea4f573a240b59a651a489 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/exchange-cost.json|samples/core/no/exchange-cost.json role=reads scope=exchange/cost value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/idempotent.json|samples/core/no/idempotent.json role=reads scope=idempotent value=0..0 bound-lock/1 at=witness:project-coordinates-are-relative by=target form=interval measure=count needs=samples/core/yes/no-error.json|samples/core/no/no-error.json role=reads scope=no-error value=0..0 diff --git a/docs/contracts/archive-conformance.publication.json b/docs/contracts/archive-conformance.publication.json index 26295ef..f02f5ca 100644 --- a/docs/contracts/archive-conformance.publication.json +++ b/docs/contracts/archive-conformance.publication.json @@ -4,22 +4,22 @@ { "role": "contract", "path": "docs/contracts/archive.md", - "digest": "sha256:55540a934b3fe26d87d65e608754e50554424ea1e6d79bc7138bdeb4612c97c4" + "digest": "sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9" }, { "role": "yes", - "path": "samples/artifacts/TARGET.bound", - "digest": "sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba" + "path": "samples/yes/archive-conformance.json", + "digest": "sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c" }, { "role": "vector", "path": "vectors/archive-conformance.json", - "digest": "sha256:2b7ed94d33ef033a2e883665657202220638e17f868db67114fde6a2c84e9011" + "digest": "sha256:c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f" }, { "role": "no", - "path": "samples/artifacts-changed/TARGET.bound", - "digest": "sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba" + "path": "samples/no/archive-conformance.json", + "digest": "sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea" } ] } diff --git a/docs/contracts/archive.md b/docs/contracts/archive.md index a03a209..11c0891 100644 --- a/docs/contracts/archive.md +++ b/docs/contracts/archive.md @@ -1,7 +1,11 @@ # Exact release artifact -An archive digest names its exact bytes. It is distinct from a Topos standing identity. The pipeline produces one archive for the registry and forge; it does not pack a second file and assume equality. +Packing is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes. -The public conformance vector uses only the installed instrument. Two unrelated formed places resolve their named standing and artifacts, then print their cells. A changed artifact with the retained digest refuses before execution. This proves the host materialization boundary; it does not claim that file presence is an installed-release receipt. +The archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed. -Acceptance of the candidate additionally requires its exact member list, archive hash, clean installation and product captures from that archive, without source conditions or a checkout ledger. Changed implementation bytes require a new candidate capture. Packing, installing and publishing are host acts; the vector does not authenticate to a registry or publish. The owner approves that exact archive after verification. +The samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan. + +This is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions. + +Rendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file. diff --git a/docs/contracts/attest-evidence.publication.json b/docs/contracts/attest-evidence.publication.json index 69cda2f..b82a36f 100644 --- a/docs/contracts/attest-evidence.publication.json +++ b/docs/contracts/attest-evidence.publication.json @@ -4,22 +4,22 @@ { "role": "contract", "path": "docs/contracts/evidence-view.md", - "digest": "sha256:c601e3b472960cfcf46bc4b6dd356716ddd490969686068d894ab246a92a5e30" + "digest": "sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7" }, { "role": "yes", - "path": "samples/native-views/place-1/TARGET.bound", - "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" }, { "role": "no", - "path": "samples/native-views/inputs/037-altered.bound", - "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" } ] } diff --git a/docs/contracts/cli-fold.publication.json b/docs/contracts/cli-fold.publication.json index 027484f..2fd09e7 100644 --- a/docs/contracts/cli-fold.publication.json +++ b/docs/contracts/cli-fold.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/native-views/place-1/TARGET.bound", - "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" }, { "role": "no", - "path": "samples/native-views/inputs/037-altered.bound", - "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" } ] } diff --git a/docs/contracts/cli-land.publication.json b/docs/contracts/cli-land.publication.json index 8085364..8552229 100644 --- a/docs/contracts/cli-land.publication.json +++ b/docs/contracts/cli-land.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/native-views/place-1/TARGET.bound", - "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" }, { "role": "no", - "path": "samples/native-views/inputs/037-altered.bound", - "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" } ] } diff --git a/docs/contracts/cli-sign.publication.json b/docs/contracts/cli-sign.publication.json index b847af7..0018210 100644 --- a/docs/contracts/cli-sign.publication.json +++ b/docs/contracts/cli-sign.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/signing-port/file-1/TARGET.bound", - "digest": "sha256:2bb37c9ef367c011823b421d9f335ecdb8e3df6c4a14b80bc66fa3667e54518f" + "path": "samples/yes/signing-port.json", + "digest": "sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69" }, { "role": "no", - "path": "samples/signing-port/inputs/004-invalid.proposal", - "digest": "sha256:ff12e46709bb66c0d73db3230bb3cc93fad7a280097f0125bfb8271b351acc2f" + "path": "samples/no/signing-port.json", + "digest": "sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15" }, { "role": "vector", "path": "vectors/signing-port.json", - "digest": "sha256:32eb52e0426ec47cd24d189158a3e151d259bbcd16bfdbed4f0582b216b202d1" + "digest": "sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde" } ] } diff --git a/docs/contracts/evidence-view.md b/docs/contracts/evidence-view.md index 48f4870..52fbe0c 100644 --- a/docs/contracts/evidence-view.md +++ b/docs/contracts/evidence-view.md @@ -1,7 +1,7 @@ # Authenticated evidence view -The declared evidence@8 view projects authenticated delivery history of the place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence grants neither normative authority nor independent observation origins. Existing Topos authority and coverage remain the admission boundary. +The declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary. -A sample is a place: fold its declared evidence view with the instrument. The native-view vector invokes only Bound: bootstrap with an external host signer, sign and land evidence, inspect help, lines and native receipts, inspect authenticated evidence, and redeliver retained signed bytes. No private key, registry or validation executor is shipped. The vector names its external signer parameters explicitly; absence cannot be replaced by a fabricated signature. +Run `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins. -The rejected sample contains an uncovered write and altered signed bytes. Both refuse by name. Withdrawals remove only covered normative lines; authenticated delivery remains inspectable. Aliases of one key grant no independence. Native receipt fixture bytes are retained output from the instrument, not observations written by a test. +The no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped. diff --git a/docs/contracts/typed-object.md b/docs/contracts/typed-object.md index d7c3022..5e4dcd3 100644 --- a/docs/contracts/typed-object.md +++ b/docs/contracts/typed-object.md @@ -1,7 +1,35 @@ ## Typed cell, claim and mark records -The typed profile is selected by admitted wire/object/* declarations in Topos. A cell names its selected form, parameter bytes, topos standing and declared restsOn coordinates. Positive ceilings travel; a witnessed join is local; positive floors travel. Claims carry independently admitted origin evidence. Bound projects the admitted history into Obligations and prints its four states; configuration readings do not compute those encounters. +The object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile. -Each sample is a place with TARGET.bound, native receipts.bound and fixture data whose hashes the lock names. After a clone, run `npx @lapxo/bound@0.1.5 samples/typed`; `samples/artifacts` demonstrates another form through the same path. No sample runner or private key is required. The native vector folds the signed histories for compatible claims, both CONFLICT causes, FORBIDDEN, exact withdrawals and reuse, and refuses floor/local. It compares the CELL lines with the directly constructed Obligations scene. +`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope. -A history artifact digest closes its exact bytes; it is not the identity of the place. Digest-only place selection waits for a semantic projection that preserves effective act order while excluding delivery envelopes. No archive or generic standing encoder is substituted for that contract. +The common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission. + +| Row | Fields in addition to the common envelope | Meaning | +| --- | --- | --- | +| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. | +| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. | +| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. | +| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. | +| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. | +| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. | +| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. | + +Each row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin. + +For a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested. + +The cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred. + +`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification. + +After admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters. + +The shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place. + +## Running the published place + +Run `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied. + +The accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form. diff --git a/docs/contracts/typed-object.publication.json b/docs/contracts/typed-object.publication.json index 1301d0e..f86528e 100644 --- a/docs/contracts/typed-object.publication.json +++ b/docs/contracts/typed-object.publication.json @@ -4,22 +4,22 @@ { "role": "contract", "path": "docs/contracts/typed-object.md", - "digest": "sha256:d6ee08ec2b339c9d9ca969452b8ed160b72c7aeb3904fd29b7259c0eecc008b3" + "digest": "sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05" }, { "role": "yes", - "path": "samples/typed-object-1/TARGET.bound", - "digest": "sha256:20ffddf05e09a2d4e9c71c344de687ded6bbe59534a842b2a1ef24e4a7cadabe" + "path": "samples/yes/typed-object.json", + "digest": "sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d" }, { "role": "vector", "path": "vectors/typed-object.json", - "digest": "sha256:df8a4e35a2ac0dc5679ce1416860931c98d8ed565b27fb28fb676a81f06bbe92" + "digest": "sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a" }, { "role": "no", - "path": "samples/typed-object-7/TARGET.bound", - "digest": "sha256:8fbf56bc1bb119fcbe05cc158e55317092867b1a64c4acc10a91084d7143a898" + "path": "samples/no/typed-object.json", + "digest": "sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0" } ] } diff --git a/docs/contracts/view-card.publication.json b/docs/contracts/view-card.publication.json index 3e5a2cf..482b3ff 100644 --- a/docs/contracts/view-card.publication.json +++ b/docs/contracts/view-card.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/program-views-1/TARGET.bound", - "digest": "sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f" + "path": "samples/yes/program-views.json", + "digest": "sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15" }, { "role": "no", - "path": "samples/program-views-2/TARGET.bound", - "digest": "sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b" + "path": "samples/no/program-views.json", + "digest": "sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7" }, { "role": "vector", "path": "vectors/program-views.json", - "digest": "sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255" + "digest": "sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71" } ] } diff --git a/docs/contracts/view-citation-file.publication.json b/docs/contracts/view-citation-file.publication.json index 78e1f43..3500631 100644 --- a/docs/contracts/view-citation-file.publication.json +++ b/docs/contracts/view-citation-file.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-explanation.publication.json b/docs/contracts/view-explanation.publication.json index a574a29..44827aa 100644 --- a/docs/contracts/view-explanation.publication.json +++ b/docs/contracts/view-explanation.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-guide.publication.json b/docs/contracts/view-guide.publication.json index e1c03ef..3a58f14 100644 --- a/docs/contracts/view-guide.publication.json +++ b/docs/contracts/view-guide.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-help.publication.json b/docs/contracts/view-help.publication.json index f3f72c2..72429dc 100644 --- a/docs/contracts/view-help.publication.json +++ b/docs/contracts/view-help.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/native-views/place-1/TARGET.bound", - "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" }, { "role": "no", - "path": "samples/native-views/inputs/037-altered.bound", - "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" } ] } diff --git a/docs/contracts/view-lines.publication.json b/docs/contracts/view-lines.publication.json index c389aeb..94f3647 100644 --- a/docs/contracts/view-lines.publication.json +++ b/docs/contracts/view-lines.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/native-views/place-1/TARGET.bound", - "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" }, { "role": "no", - "path": "samples/native-views/inputs/037-altered.bound", - "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" } ] } diff --git a/docs/contracts/view-manifest-render.publication.json b/docs/contracts/view-manifest-render.publication.json index b985218..a3a1553 100644 --- a/docs/contracts/view-manifest-render.publication.json +++ b/docs/contracts/view-manifest-render.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-programs.publication.json b/docs/contracts/view-programs.publication.json index d4156f3..ac66c99 100644 --- a/docs/contracts/view-programs.publication.json +++ b/docs/contracts/view-programs.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/program-views-1/TARGET.bound", - "digest": "sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f" + "path": "samples/yes/program-views.json", + "digest": "sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15" }, { "role": "no", - "path": "samples/program-views-2/TARGET.bound", - "digest": "sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b" + "path": "samples/no/program-views.json", + "digest": "sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7" }, { "role": "vector", "path": "vectors/program-views.json", - "digest": "sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255" + "digest": "sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71" } ] } diff --git a/docs/contracts/view-readme-historical.publication.json b/docs/contracts/view-readme-historical.publication.json index 3a048b5..d1feb30 100644 --- a/docs/contracts/view-readme-historical.publication.json +++ b/docs/contracts/view-readme-historical.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-receipts.publication.json b/docs/contracts/view-receipts.publication.json index 40b8381..7b9a63e 100644 --- a/docs/contracts/view-receipts.publication.json +++ b/docs/contracts/view-receipts.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/native-views/place-1/TARGET.bound", - "digest": "sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac" + "path": "samples/yes/native-views.json", + "digest": "sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3" }, { "role": "no", - "path": "samples/native-views/inputs/037-altered.bound", - "digest": "sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b" + "path": "samples/no/native-views.json", + "digest": "sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5" }, { "role": "vector", "path": "vectors/native-views.json", - "digest": "sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0" + "digest": "sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc" } ] } diff --git a/docs/contracts/view-reference.publication.json b/docs/contracts/view-reference.publication.json index 8cdadfd..348a0e7 100644 --- a/docs/contracts/view-reference.publication.json +++ b/docs/contracts/view-reference.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-release-workflow-render.publication.json b/docs/contracts/view-release-workflow-render.publication.json index 94fd6de..a5fc70b 100644 --- a/docs/contracts/view-release-workflow-render.publication.json +++ b/docs/contracts/view-release-workflow-render.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-tsconfig.publication.json b/docs/contracts/view-tsconfig.publication.json index f6d4ae3..f75b8a7 100644 --- a/docs/contracts/view-tsconfig.publication.json +++ b/docs/contracts/view-tsconfig.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-usage-profile.publication.json b/docs/contracts/view-usage-profile.publication.json index 24d7a39..4054329 100644 --- a/docs/contracts/view-usage-profile.publication.json +++ b/docs/contracts/view-usage-profile.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/historical-document-views-1/TARGET.bound", - "digest": "sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e" + "path": "samples/yes/historical-document-views.json", + "digest": "sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc" }, { "role": "no", - "path": "samples/historical-document-views-2/TARGET.bound", - "digest": "sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c" + "path": "samples/no/historical-document-views.json", + "digest": "sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9" }, { "role": "vector", "path": "vectors/historical-document-views.json", - "digest": "sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0" + "digest": "sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94" } ] } diff --git a/docs/contracts/view-walk.publication.json b/docs/contracts/view-walk.publication.json index 0616528..cdc1b9c 100644 --- a/docs/contracts/view-walk.publication.json +++ b/docs/contracts/view-walk.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/walk-publication/left-1/TARGET.bound", - "digest": "sha256:d7e7e89d222c81ec003ceccd095b3f5aaa30a3b19b2d2972c5c89554f3549e03" + "path": "samples/yes/walk.json", + "digest": "sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac" }, { "role": "vector", "path": "vectors/walk-publication.json", - "digest": "sha256:b89667bfd666d39a2432ba236144c98ff30c885adec6525fa658d08fc281ede9" + "digest": "sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113" }, { "role": "no", - "path": "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "digest": "sha256:205584e98246abb9f6e273c26ee83e145640b5d3f64ec2f513c847c909d66e4f" + "path": "samples/no/walk.json", + "digest": "sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233" } ] } diff --git a/docs/contracts/view-why.publication.json b/docs/contracts/view-why.publication.json index c56ea0a..c048606 100644 --- a/docs/contracts/view-why.publication.json +++ b/docs/contracts/view-why.publication.json @@ -8,18 +8,18 @@ }, { "role": "yes", - "path": "samples/query-views-1/TARGET.bound", - "digest": "sha256:eb0000cabe3582b4e762923bd7559ad27f8053743f990e925fd0d7e74a89e4b2" + "path": "samples/yes/query-views.json", + "digest": "sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317" }, { "role": "no", - "path": "samples/query-views-1/TARGET.bound", - "digest": "sha256:eb0000cabe3582b4e762923bd7559ad27f8053743f990e925fd0d7e74a89e4b2" + "path": "samples/no/query-views.json", + "digest": "sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4" }, { "role": "vector", "path": "vectors/query-views.json", - "digest": "sha256:238c34575217eaf2e5e61d893def730002942c1b10c5c68581d60d8ebf7ee58b" + "digest": "sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1" } ] } diff --git a/docs/why.md b/docs/why.md index b2effb6..ff689d3 100644 --- a/docs/why.md +++ b/docs/why.md @@ -16,13 +16,14 @@ Use this flow to review a project change or check a dependency's declared contra For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. -After cloning this repository, fold the example place with the instrument: +Run the executable example with the installed CLI: ```sh -npx @lapxo/bound@0.1.5 samples/typed +npm install @lapxo/bound@0.1.5 +node node_modules/@lapxo/bound/tools/samples/run-typed.mjs ``` -The folder carries its own TARGET.bound, receipts.bound and hash-verified fixture data. It prints B, C, G and D through the native cells view; repeating the fold reuses their receipts. It needs no private key and admits nothing into your project. B owns the travelling sign, local join and travelling floor; C reads FREE from two compatible independent observations; G and D read REQUIRED. The artifact-set example uses the same instrument at `samples/artifacts`. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). +The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. diff --git a/package.json b/package.json index b2b4e02..0ace998 100644 --- a/package.json +++ b/package.json @@ -19,1295 +19,57 @@ "prepack": "npm run build" }, "files": [ - "CONTRIBUTING.md", "LICENSE", "README.md", - "TARGET.bound", + "CONTRIBUTING.md", "dist/**/*", + "TARGET.bound", + "receipts.bound", + "docs/usage.md", + "docs/readme-assets/atlas.svg", + "samples/typed/*.json", + "tools/samples/*.mjs", + "samples/walk/*.json", + "vectors/native-walk.json", "docs/contracts/*.md", "docs/contracts/*.publication.json", - "docs/contracts/archive.md", - "docs/contracts/cli.md", - "docs/contracts/documents.md", - "docs/contracts/evidence-view.md", "docs/contracts/publication.inventory.json", - "docs/contracts/typed-object.md", - "docs/contracts/view-walk.md", - "docs/contracts/views.md", - "docs/readme-assets/atlas.svg", - "docs/usage.md", - "package.json", - "receipts.bound", - "samples/artifacts-changed/TARGET.bound", - "samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", - "samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/artifacts-changed/fixtures/history.txt", - "samples/artifacts-changed/receipts.bound", - "samples/artifacts/TARGET.bound", - "samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", - "samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/artifacts/fixtures/history.txt", - "samples/artifacts/receipts.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json", - "samples/historical-document-views-2/CITATION.cff", - "samples/historical-document-views-2/README.md", - "samples/historical-document-views-2/TARGET.bound", - "samples/historical-document-views-2/docs/guide.md", - "samples/historical-document-views-2/docs/reference.md", - "samples/historical-document-views-2/docs/why.md", - "samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", - "samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-2/manifest.json", - "samples/historical-document-views-2/notes.md", - "samples/historical-document-views-2/process.yml", - "samples/historical-document-views-2/receipts.bound", - "samples/historical-document-views-2/tsconfig.json", - "samples/historical-document-views-3/CITATION.cff", - "samples/historical-document-views-3/README.md", - "samples/historical-document-views-3/TARGET.bound", - "samples/historical-document-views-3/docs/guide.md", - "samples/historical-document-views-3/docs/reference.md", - "samples/historical-document-views-3/docs/why.md", - "samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", - "samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6", - "samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-3/manifest.json", - "samples/historical-document-views-3/notes.md", - "samples/historical-document-views-3/process.yml", - "samples/historical-document-views-3/receipts.bound", - "samples/historical-document-views-3/tsconfig.json", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json", - "samples/historical-document-views-5/CITATION.cff", - "samples/historical-document-views-5/README.md", - "samples/historical-document-views-5/TARGET.bound", - "samples/historical-document-views-5/catalogue.json", - "samples/historical-document-views-5/catalogue.md", - "samples/historical-document-views-5/catalogue.yml", - "samples/historical-document-views-5/docs/guide.md", - "samples/historical-document-views-5/docs/reference.md", - "samples/historical-document-views-5/docs/why.md", - "samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", - "samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-5/receipts.bound", - "samples/historical-document-views-5/tsconfig.json", - "samples/historical-document-views-6/CITATION.cff", - "samples/historical-document-views-6/README.md", - "samples/historical-document-views-6/TARGET.bound", - "samples/historical-document-views-6/catalogue.json", - "samples/historical-document-views-6/catalogue.md", - "samples/historical-document-views-6/catalogue.yml", - "samples/historical-document-views-6/docs/guide.md", - "samples/historical-document-views-6/docs/reference.md", - "samples/historical-document-views-6/docs/why.md", - "samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c", - "samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", - "samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-6/receipts.bound", - "samples/historical-document-views-6/tsconfig.json", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/program-views-1/TARGET.bound", - "samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9", - "samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-1/receipts.bound", - "samples/program-views-2/TARGET.bound", - "samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca", - "samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-2/receipts.bound", - "samples/program-views-3/TARGET.bound", - "samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c", - "samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-3/receipts.bound", - "samples/program-views-4/TARGET.bound", - "samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f", - "samples/program-views-4/receipts.bound", - "samples/query-views-1/TARGET.bound", - "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", - "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", - "samples/query-views-1/receipts.bound", - "samples/query-views-1/source.txt", - "samples/query-views-2/TARGET.bound", - "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", - "samples/query-views-2/receipts.bound", - "samples/query-views-2/release.txt", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal", - "samples/typed-changed/TARGET.bound", - "samples/typed-changed/artifacts.json", - "samples/typed-changed/artifacts.vector.json", - "samples/typed-changed/contract.json", - "samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-changed/fixtures/history.txt", - "samples/typed-changed/no.json", - "samples/typed-changed/range.vector.json", - "samples/typed-changed/receipts.bound", - "samples/typed-changed/wire.json", - "samples/typed-changed/yes.json", - "samples/typed-object-1/TARGET.bound", - "samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-1/fixtures/history.txt", - "samples/typed-object-1/receipts.bound", - "samples/typed-object-2/TARGET.bound", - "samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-2/fixtures/history.txt", - "samples/typed-object-2/receipts.bound", - "samples/typed-object-3/TARGET.bound", - "samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-3/fixtures/history.txt", - "samples/typed-object-3/receipts.bound", - "samples/typed-object-4/TARGET.bound", - "samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", - "samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", - "samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-4/fixtures/history.txt", - "samples/typed-object-4/receipts.bound", - "samples/typed-object-5/TARGET.bound", - "samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", - "samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", - "samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", - "samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", - "samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", - "samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-5/fixtures/history.txt", - "samples/typed-object-5/receipts.bound", - "samples/typed-object-6/TARGET.bound", - "samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", - "samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", - "samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", - "samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", - "samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", - "samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", - "samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4", - "samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-6/fixtures/history.txt", - "samples/typed-object-6/receipts.bound", - "samples/typed-object-7/TARGET.bound", - "samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15", - "samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", - "samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", - "samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", - "samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-7/fixtures/history.txt", - "samples/typed-object-7/receipts.bound", - "samples/typed/TARGET.bound", - "samples/typed/artifacts.json", - "samples/typed/artifacts.vector.json", - "samples/typed/contract.json", - "samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed/fixtures/history.txt", - "samples/typed/no.json", - "samples/typed/range.vector.json", - "samples/typed/receipts.bound", - "samples/typed/wire.json", - "samples/typed/yes.json", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7", - "vectors/archive-conformance.json", - "vectors/historical-document-views.json", + "samples/yes/typed-object.json", + "samples/no/typed-object.json", + "samples/yes/attest-evidence.json", + "samples/no/attest-evidence.json", + "vectors/typed-object.json", + "vectors/attest-evidence.json", + "samples/yes/signing-port.json", + "samples/no/signing-port.json", + "vectors/signing-port.json", + "samples/yes/native-views.json", + "samples/no/native-views.json", "vectors/native-views.json", - "vectors/program-views.json", + "samples/yes/query-views.json", + "samples/no/query-views.json", "vectors/query-views.json", - "vectors/signing-port.json", - "vectors/typed-object.json", - "vectors/walk-publication.json" + "samples/yes/prose-views.json", + "samples/no/prose-views.json", + "vectors/prose-views.json", + "samples/yes/program-views.json", + "samples/no/program-views.json", + "vectors/program-views.json", + "samples/yes/historical-document-views.json", + "samples/no/historical-document-views.json", + "vectors/historical-document-views.json", + "samples/yes/historical-build.json", + "samples/no/historical-build.json", + "vectors/historical-build.json", + "samples/yes/historical-presentation.json", + "samples/no/historical-presentation.json", + "vectors/historical-presentation.json", + "samples/yes/walk.json", + "samples/no/walk.json", + "vectors/walk-publication.json", + "samples/yes/archive-conformance.json", + "vectors/archive-conformance.json", + "samples/no/archive-conformance.json" ], "author": "Lapxo", "license": "MIT", diff --git a/receipts.bound b/receipts.bound index 80b7c53..4a9d001 100644 --- a/receipts.bound +++ b/receipts.bound @@ -1,360 +1,269 @@ -bound-lock/1 at=place:sha256:0083bd880b3d85f725f452de0790a00d267a761428592d693e42d4415a731755 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=0083bd880b3d85f7 -bound-lock/1 at=place:sha256:05bcfaa660c331766d25571f03ff0ff9c2e86da7f54fce6b321a80f0df15b4cc by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe value=05bcfaa660c33176 -bound-lock/1 at=place:sha256:0b7a54498e516f738da1404af8718397d9de8a8d5a5631195a1a5875da6e4205 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=0b7a54498e516f73 -bound-lock/1 at=place:sha256:0bd0e3e9079051d1c20b6215e50a70a377272ece67ca7d00ea5036af6352a45e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=0bd0e3e9079051d1 -bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=0c305b4dd839cce2 -bound-lock/1 at=place:sha256:0c8cfb2dd9cd6007956543f95044a01a381134d81572a16d8f883bbc13d35177 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=0c8cfb2dd9cd6007 -bound-lock/1 at=place:sha256:106874c37ec7f7ca6c4c00731a2deaba26a361c2250088ffdd25ba63af2f7efd by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=106874c37ec7f7ca -bound-lock/1 at=place:sha256:1174d12f2ae2a254a43f949281a6897ccd70829cae733870e4a5aeccac0c9ba4 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=1174d12f2ae2a254 -bound-lock/1 at=place:sha256:11a4277b527060e695bb0e8ee5db9060d9ce9593acdbd56a3517ea87307f4563 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=11a4277b527060e6 -bound-lock/1 at=place:sha256:1a093c6caad96e66df86f982a2329a00f6d6e3f5e595da019f3078a349e1d98e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=1a093c6caad96e66 -bound-lock/1 at=place:sha256:1b9830fcbe2c4af9ca133143dac267f9b9c028e73265dfa4fee71c8dce736a97 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=1b9830fcbe2c4af9 -bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=1cbf56c90b7ec29d -bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=1f269aecce7112bd -bound-lock/1 at=place:sha256:2225f941b02ce3d296ada3989c560db1e43fe2a092d44b90e0bcc3c5bcbf0838 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=2225f941b02ce3d2 -bound-lock/1 at=place:sha256:2524d168214ffcb867547abb0a9a5e4f66a8fcbcc35dc8bd9eba8edbf921c294 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=2524d168214ffcb8 -bound-lock/1 at=place:sha256:287f72c7160f4513db0cbb35163348cf6f7f28c29b15d033e5a999c5b33dfd44 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=287f72c7160f4513 -bound-lock/1 at=place:sha256:3023746431a3fef4b1f699cd9bfcbe5fc4f6187230560700dd5c92bb9e442148 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07 value=3023746431a3fef4 -bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=3157ccea14f5068f -bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=31a0ab230b806e72 -bound-lock/1 at=place:sha256:3368849e8d5f74990be04689c5c91e3b362d352a326bd3ea37c041641e899a43 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a value=3368849e8d5f7499 -bound-lock/1 at=place:sha256:35bdab24b136482d4846ebb43f344e561365835237ec4b162c0e0b7a6f94dfea by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=35bdab24b136482d -bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=36444c5a44edbeef -bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/why value=39bd527b83de5558 -bound-lock/1 at=place:sha256:3bd7aac1fdcd840110fe6c8e3b5eb1d7192efacc34a6143e87d15b62f0cc34b4 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76 value=3bd7aac1fdcd8401 -bound-lock/1 at=place:sha256:3c6327ecf8471024ced932578a5eac82b35d54a7e5723b3ad26a8dbe39d8a5ab by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=3c6327ecf8471024 -bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=3d3be8f30b50072f -bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=3da5ff65b8cc8900 -bound-lock/1 at=place:sha256:3f246e3f83fa2cb8ea453946cece7d498db7e52ed327839a099008fb8f4ad7f2 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f value=3f246e3f83fa2cb8 -bound-lock/1 at=place:sha256:4561889c2183bfd4b1a3125bed3880a1784a583d4b1c1e3bc33decb0cd190561 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=4561889c2183bfd4 -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=observed role=writes scope= value=49d1f6cd13dcd803 -bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=4a2387015d00aba9 -bound-lock/1 at=place:sha256:4b19ed12bd54ac60ffd9b2b7fce5854b69c352a9d1296fa51ad668d713267350 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=4b19ed12bd54ac60 -bound-lock/1 at=place:sha256:5364e7b2cfd88beef996f96254cb4da7cf9596514d5e5e31cc8dea1269f54883 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=5364e7b2cfd88bee -bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/help value=5585f5c9e4776f2f -bound-lock/1 at=place:sha256:5aa46b6f0e2bb9f3fbb90c96a3e4deafae8820a7d6d4123c290cd0ac7aa03571 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 value=5aa46b6f0e2bb9f3 -bound-lock/1 at=place:sha256:5abf97496c554830bee00296b3bce4aa01592471f6bc49999cc7f1d37bcc464a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=5abf97496c554830 -bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=5afcca624aac00d8 -bound-lock/1 at=place:sha256:5ebf96e6f1f4fd7d863e6401b51b11aed4c62636d7ccbb3e54162ad561b6e62a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=5ebf96e6f1f4fd7d -bound-lock/1 at=place:sha256:5f301e069ed98f112381f9eec9361bfb77c980d625606123923d08826dcbc566 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d value=5f301e069ed98f11 -bound-lock/1 at=place:sha256:5fb37a66a72e4a6d33b213370e057328314d49729687a7594733acd140b8a1ba by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=5fb37a66a72e4a6d -bound-lock/1 at=place:sha256:6055472f34b7e24dfc694c4dbb9d53fc035b7e8e1f8ccba1b8ef798133e0bc4a by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=6055472f34b7e24d -bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=634bb53f85b377bf -bound-lock/1 at=place:sha256:655feee785d7d8354c541a063247ff97e2b5a784b94fd67396b8705d9aec5a34 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=655feee785d7d835 -bound-lock/1 at=place:sha256:65f27f5fad36449ec62f3a58e89c54200d6658bd58fd5e4e22f552446d2bb910 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c value=65f27f5fad36449e -bound-lock/1 at=place:sha256:67750a8422df6e131cfeaf8ec54679cbbb6715184c546089a73c8b50cf391fbb by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=67750a8422df6e13 -bound-lock/1 at=place:sha256:67a6cb5ae03576d8770771ef0633064d8c419aae9401589acae7c0911e3e0c72 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 value=67a6cb5ae03576d8 -bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=6b4e041599e32aa6 -bound-lock/1 at=place:sha256:6b7fba3f6bd6da59eed288510c49cfa6f7ce5b55d7b278226d6e035fc204ff6c by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e value=6b7fba3f6bd6da59 -bound-lock/1 at=place:sha256:736b728540fdf1a6102632e2ef55ba2effc82bebba7b05cb31ef90a8208aad91 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1 value=736b728540fdf1a6 -bound-lock/1 at=place:sha256:7abf8445de1e6dcd30693d753d2566aa96f8629ebd2154f052da5da91e5a4140 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22 value=7abf8445de1e6dcd -bound-lock/1 at=place:sha256:7c82f3f176ca7d8fbef08ea2925826e01811ddabd17df1cc57a5c6c2d5c44c7b by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=7c82f3f176ca7d8f -bound-lock/1 at=place:sha256:7ccaedacfdd41bde557215c470db142e03994a93da3251b697757738b09b6979 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=7ccaedacfdd41bde -bound-lock/1 at=place:sha256:809f4239ec5a269893862e872e02271e719b2008f07eb97b1cc62b01a97a5907 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=809f4239ec5a2698 -bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=80ac8b80c0ed9cd0 -bound-lock/1 at=place:sha256:81c97327996305c6d71f4ed6d1531816bc6c9fa451e3fd53ec775382e080bb95 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=81c97327996305c6 -bound-lock/1 at=place:sha256:81f4ef568f9fe073365185f80626cbc0484a01d3e1d0e8b420941f87ac70cfa2 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=81f4ef568f9fe073 -bound-lock/1 at=place:sha256:821f66aff87c8ce366d6f64904274a818c534cf1239e4332e88d795d9ca60efd by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4 value=821f66aff87c8ce3 -bound-lock/1 at=place:sha256:82ee8b684a44a084c4aa44115f785582e675bc7b277ca71a642667daad193055 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=82ee8b684a44a084 -bound-lock/1 at=place:sha256:8353528069c95fc1fa5c4587f18d422fbf38ad4f6b1d099573f22c1a6baa704e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=8353528069c95fc1 -bound-lock/1 at=place:sha256:854f97543aaf958436839b45fd7b1ad3b5ed9bd8f1b0ede44206399094652a97 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=854f97543aaf9584 -bound-lock/1 at=place:sha256:85d6f9a34ed85101a1f066d9fd6d457a703383e280cbcb44551c6ebe4b5cf9b1 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=85d6f9a34ed85101 -bound-lock/1 at=place:sha256:8b5ca427158ec7ab8068166723d96711603ab037ab2e5d63bb383722a8606c0d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published value=8b5ca427158ec7ab -bound-lock/1 at=place:sha256:8b5f787ddc3f624abfee731fe65e298f4e5c7fd3491fa155babf0fd418cd217f by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=8b5f787ddc3f624a -bound-lock/1 at=place:sha256:8d928a2fa479c6e934533cb8ab9cce71b50710d28cc17e04aa8401feebbba757 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=8d928a2fa479c6e9 -bound-lock/1 at=place:sha256:8eef7f9daa85656bd8a0441a5795f2bc44b0d80ce281d09b52e7988fc417cbb5 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=8eef7f9daa85656b -bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=991c1088e4aed310 -bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=9b2fd16316689813 -bound-lock/1 at=place:sha256:a039d6613dfc0d439c46cb1ccc04254001548e63c09c14ec7e57d0289e442a51 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=a039d6613dfc0d43 -bound-lock/1 at=place:sha256:a2ff9f9520b572b4a0b3674deba6e5019ab4ff50a77cf949ee0b315c99a799d5 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=a2ff9f9520b572b4 -bound-lock/1 at=place:sha256:a393289751ebcdd30822ef770a7a0ddfd1b26b8ff842de358f9c7c68215ce4e6 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=a393289751ebcdd3 -bound-lock/1 at=place:sha256:a4ad5d2cbe164c51555b6639d9879020acdb019a77da3fb75959672b1a550d91 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=a4ad5d2cbe164c51 -bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=a7f4e2683fc92ac3 -bound-lock/1 at=place:sha256:ac2417df4bfdcf7e2d3126b322f518428aed04f764028f7d80eabe38177a7ef2 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc value=ac2417df4bfdcf7e -bound-lock/1 at=place:sha256:b2db194a17ba652f3365b0b235b10efd3438ec1f5fd35a3b910de29682eda067 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=b2db194a17ba652f -bound-lock/1 at=place:sha256:b514081ecb5313700e2bf9e78ce7df05755633582b1885cb16ca2d976d748e35 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=b514081ecb531370 -bound-lock/1 at=place:sha256:bbbf05d639a1c8dfaac36d73b9fa8f1aa5f60e28300ff5f92c90fc521d86265e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=bbbf05d639a1c8df -bound-lock/1 at=place:sha256:bce43ef91edecdd872fa747621c31d1b6bc21a959bee3446d9de2ea7fe6fe73c by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=bce43ef91edecdd8 -bound-lock/1 at=place:sha256:bd954278d397c353a78758aa064adbdcc15d229a72e67e57a8968476045d4b71 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 value=bd954278d397c353 -bound-lock/1 at=place:sha256:bfe186ff5f0771efee2a747badbf4a82f5373fe8e8e3a62e909786a70be0caae by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=bfe186ff5f0771ef -bound-lock/1 at=place:sha256:c635d34d5600eac1ff4915c8f405786f83576a5a595106c6b0aa12c44df86e4d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=c635d34d5600eac1 -bound-lock/1 at=place:sha256:c7b948e7881f8296121a86d3fc638923a800efac27d7ab6557d453f64414f9ef by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8 value=c7b948e7881f8296 -bound-lock/1 at=place:sha256:c8cdf216caf1af3e66c610ea5438c6960a9cec32f211d59dc45446fb4e7f0138 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=c8cdf216caf1af3e -bound-lock/1 at=place:sha256:ca72ed6c2c63cd434328425812003a657a62997cb9526eb0d4b64f2ff256e6ca by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455 value=ca72ed6c2c63cd43 -bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=cb81aff82c5e7a59 -bound-lock/1 at=place:sha256:cbbd4688a8914fb9209498720ece4594b930676fea5fbc42323467aba89c1b4d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=cbbd4688a8914fb9 -bound-lock/1 at=place:sha256:cc1da93de28da07b672384498ba9dece3cdf5c9eeb3d0765f3066186dfca87b3 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=cc1da93de28da07b -bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=cd4b67e24e7c0393 -bound-lock/1 at=place:sha256:d047b60f1a2dfc405bed2aa7d6af9b4b48f236a26657a470c00816f539f465fe by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa value=d047b60f1a2dfc40 -bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/card value=d277ac6dc03d933f -bound-lock/1 at=place:sha256:d3bb01758bb2a674d920ac12478ebb2952c37803369d8e630d71b541adcaf7a7 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=d3bb01758bb2a674 -bound-lock/1 at=place:sha256:d53dfc41d22a1a87029d5502489b6b15916981ee195e8e9e08eb283ce949771d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=d53dfc41d22a1a87 -bound-lock/1 at=place:sha256:d53dfe758e7ab9804588160fdca48e3e9277720f76bbefe62a988a55027e53eb by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=d53dfe758e7ab980 -bound-lock/1 at=place:sha256:d6462af89d2ec4504005c50e439f183d791e1e6897e3567c56bf1df769051255 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=d6462af89d2ec450 -bound-lock/1 at=place:sha256:d7c046112a13a08b512996117ebdf6452d546d85d22eb5d64bf1d8a656618b8e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=d7c046112a13a08b -bound-lock/1 at=place:sha256:dbefb8dc83ca8a704706790b274d25de5c9585f4e6cfab93c8c64dc41f507e5d by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=dbefb8dc83ca8a70 -bound-lock/1 at=place:sha256:e1f4d3c0df436d00188e64c9625bcb891c22301e283af4a6c525a4f64346ed5f by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0 value=e1f4d3c0df436d00 -bound-lock/1 at=place:sha256:eb4b18dc18c9e707ea06b2ec560dd42fb4a9b0a5fdd2a7d0b5163d424555e579 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=eb4b18dc18c9e707 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=f1d013c03ce0199e -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=f1d013c03ce0199e -bound-lock/1 at=place:sha256:f31fc28346b049efe6e74321974fc8be315dec209607d749a467a8e730bb9f0e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=f31fc28346b049ef -bound-lock/1 at=place:sha256:f8bded190f3b2530badb05bb021fd4cb7a7bd0c9eca74ec237f1c1f166aa5c08 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002 value=f8bded190f3b2530 -bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=fc647e76d9ce4cd5 -bound-lock/1 at=place:sha256:fc723b0a44f4c5e161fade8770e158c58a0fb67d845908d30b254150f46b6c7e by=reader:f02c44012928 form=alphabet measure=observed role=writes scope=execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=fc723b0a44f4c5e1 -bound-lock/1 about="bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:0b7a54498e516f738da1404af8718397d9de8a8d5a5631195a1a5875da6e4205 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:dbefb8dc83ca8a704706790b274d25de5c9585f4e6cfab93c8c64dc41f507e5d by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:35bdab24b136482d4846ebb43f344e561365835237ec4b162c0e0b7a6f94dfea by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/file-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/inputs/004-invalid.proposal value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:4b19ed12bd54ac60ffd9b2b7fce5854b69c352a9d1296fa51ad668d713267350 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:1174d12f2ae2a254a43f949281a6897ccd70829cae733870e4a5aeccac0c9ba4 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:1b9830fcbe2c4af9ca133143dac267f9b9c028e73265dfa4fee71c8dce736a97 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/query-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/query-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:8eef7f9daa85656bd8a0441a5795f2bc44b0d80ce281d09b52e7988fc417cbb5 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/inputs/049-undeclared-context-lineage.bound value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/left-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:bbbf05d639a1c8dfaac36d73b9fa8f1aa5f60e28300ff5f92c90fc521d86265e by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:c8cdf216caf1af3e66c610ea5438c6960a9cec32f211d59dc45446fb4e7f0138 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-7/TARGET.bound value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:0bd0e3e9079051d1c20b6215e50a70a377272ece67ca7d00ea5036af6352a45e by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:809f4239ec5a269893862e872e02271e719b2008f07eb97b1cc62b01a97a5907 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:bce43ef91edecdd872fa747621c31d1b6bc21a959bee3446d9de2ea7fe6fe73c by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:81f4ef568f9fe073365185f80626cbc0484a01d3e1d0e8b420941f87ac70cfa2 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts-changed/TARGET.bound value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts/TARGET.bound value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:8d928a2fa479c6e934533cb8ab9cce71b50710d28cc17e04aa8401feebbba757 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:11a4277b527060e695bb0e8ee5db9060d9ce9593acdbd56a3517ea87307f4563 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:854f97543aaf958436839b45fd7b1ad3b5ed9bd8f1b0ede44206399094652a97 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:7c82f3f176ca7d8fbef08ea2925826e01811ddabd17df1cc57a5c6c2d5c44c7b by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:8b5f787ddc3f624abfee731fe65e298f4e5c7fd3491fa155babf0fd418cd217f by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:81c97327996305c6d71f4ed6d1531816bc6c9fa451e3fd53ec775382e080bb95 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:d6462af89d2ec4504005c50e439f183d791e1e6897e3567c56bf1df769051255 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:eb4b18dc18c9e707ea06b2ec560dd42fb4a9b0a5fdd2a7d0b5163d424555e579 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:655feee785d7d8354c541a063247ff97e2b5a784b94fd67396b8705d9aec5a34 by=reader:f02c44012928 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=5..5 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:1f737ed22d12f99f26f2aa0252b0f68f2471f277a43e9f330eb6e9e6fe04e629\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive.md value=sha256:55540a934b3fe26d87d65e608754e50554424ea1e6d79bc7138bdeb4612c97c4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe value=sha256:f10d4eca89f4632ebdc30e326b074e6251e2e957f9f3cbd99813d88dc4bccfd4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc value=sha256:c133074502274a2c9beff36e95b580d2e2f2858080e69345d5671df3c536cc32\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4 value=sha256:9d9dc8223375cd92c32a3e7c8e88a950746845535cbde20e5d4de00704d50b29\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c value=sha256:7b08b65c5754b8f18b8ac5ba242742dbfc121e9d7d13f37a2c20084608962b2c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/artifacts-changed/TARGET.bound value=sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/artifacts/TARGET.bound value=sha256:6d4ab83e68cd8482f54877003d445909154b177632f33eb97bebb642561eddba\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/archive-conformance.json value=sha256:2b7ed94d33ef033a2e883665657202220638e17f868db67114fde6a2c84e9011\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe|execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc|execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4|execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c role=reads scope=contract/published/pipeline/archive value=docs/contracts/archive-conformance.publication.json|docs/contracts/archive.md|samples/artifacts-changed/TARGET.bound|samples/artifacts/TARGET.bound|vectors/archive-conformance.json\n" at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:864e56b4754bfc8646fc23826ef173eefb20d743a34633e5ca1d3ce8b3d8a0bd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:c601e3b472960cfcf46bc4b6dd356716ddd490969686068d894ab246a92a5e30\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:e54f510db0e2a045ac1fef36b149f18adcc6569b09d102eaf3805ee0e2d5fab0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.publication.json|docs/contracts/cli.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:519315b105180ad63b741e8d6367d884fa254403b26f770e97ad111127c5ad49\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.publication.json|docs/contracts/cli.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:3483a80c71ca34acfc060fa2e1e6f4d5675fec9d08874025a8ab9c1ee9ad7a9e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 value=sha256:83c0089c537fb719c2e4186094e577312f2f1940448fe7f82dc531b0ef787821\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/signing-port/file-1/TARGET.bound value=sha256:2bb37c9ef367c011823b421d9f335ecdb8e3df6c4a14b80bc66fa3667e54518f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/signing-port/inputs/004-invalid.proposal value=sha256:ff12e46709bb66c0d73db3230bb3cc93fad7a280097f0125bfb8271b351acc2f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:32eb52e0426ec47cd24d189158a3e151d259bbcd16bfdbed4f0582b216b202d1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.publication.json|docs/contracts/cli.md|samples/signing-port/file-1/TARGET.bound|samples/signing-port/inputs/004-invalid.proposal|vectors/signing-port.json\n" at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:213f035c70cd4f4deb30f0e54d7ccc320a31d7fc58ff1e08327d0389c1c24eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/citation-file value=docs/contracts/documents.md|docs/contracts/view-citation-file.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:feb84d6e33f610bd0d71e3f0625d11842954ed6c20685e175e4286d172b72af4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/explanation value=docs/contracts/documents.md|docs/contracts/view-explanation.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:f5239a9ab2098593978e8dc42203354b58b7a1c7829f28130169ea13fbfa6b10\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/guide value=docs/contracts/documents.md|docs/contracts/view-guide.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:ad9f9e92b68fd251846cb5412f1a633ef08e23e279463571a6f8daa470bf94aa\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/manifest-render value=docs/contracts/documents.md|docs/contracts/view-manifest-render.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:cf38ccb9bf3090e0bfaa70e1751b83d773f2f7a7ca8662320b942a8c2f01739b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/readme-historical value=docs/contracts/documents.md|docs/contracts/view-readme-historical.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:2974e2b8f9220dc22ab8e95573dd2919dba638e561fda90f330b3b044c4c67ec\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/reference value=docs/contracts/documents.md|docs/contracts/view-reference.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:4096102aa9c5382b11329fdd463ec3fba4f81331f6e9089b7096c88023811389\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/documents.md|docs/contracts/view-release-workflow-render.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:33ff7c7914bfabb6c25a3fc14d826e6fa94f1bef1c672e0bde2a594d3e1fe2ef\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/tsconfig value=docs/contracts/documents.md|docs/contracts/view-tsconfig.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:d3550cf94df32dd08ffcf83ffc6b8d3e1bf07646ab6b47b5e07d62490124fd5f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=sha256:f32dae91327a08853bf6564a48f8e8c28e4bd31153a44416d7f0c2c71a827a34\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=sha256:b687e10fe6307b2c2bb1e7b6ba5bab040bb8c324a19d0aedb96384965bb8df73\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=sha256:813e01a25a7af78bfcab0774b796f9656876a0c33a6326faf784e6b78b433063\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=sha256:55bb820cb7b5e62e352324e9ddb4047727969cecf99bdaa091e88ee74c1b4c40\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=sha256:9929934cae39708d4175704ecd15f67a5cabd6ffd540599ba71eb773f34d7c64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=sha256:ceac1c01f79d63b60f8862aaf48d7de39eb6c29b1629ffc9572046b9e75e0196\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=sha256:4b2e00f55b24e69c3d776f0f98a224d2a91359fd513fe91a346fec7ba209143b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=sha256:e2223f94ce4b43d0bb044972867b087c3cfd89593a35de871688ed3886ed9865\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=sha256:ca30053078b4f6ae99849f6b0d9cce91548c7ee28295ffcc3944d40264edea1b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=sha256:ec97f2c9a0c631dcfb589c90b8ea53f20054bf98eda0bb942e16463f47642970\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=sha256:d39439b529c6e84776493665311dd59e6a3e47b4cf6d6333f7b3781f7da14840\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=sha256:de138f5ed08d6b11112753e0af306553cdab8bb94d52e6137452d9c1eaea527a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=sha256:ecf6372aca2a86c6ab15dbabb74212c172bbef002b4eea6e5f2cf6c8d5b09d97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=sha256:eae6870ea196c2b74c29efa5ce1f6f1f52c3e8343ed24b3d61c36a095a050825\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=sha256:cf51cbc1fa15834ccc7f035e6300a09f79617764c2d4f56e0a050be13e4e32eb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=sha256:b8cac631d4527308fd295923ba62293941790159fd2b1826b4b304b0bc5756f8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=sha256:f7e337797b2a3baa6478183cc5537bfb6006bdcff952d4e6e9624cf5f0b89924\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=sha256:5dda0a5278cc5f3f83e23ef58c3a1188a89854ea61f54b4abf7140d22244e8e7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=sha256:2a49d92d2199c5f9e8ad4208e364b8fe02108d4466bbf2ea8591441ce106ca39\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=sha256:200a7af56de31358fe7c9a4b3abc50f728813be1e15c6841e0fffd7060963bd5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=sha256:53c4e6eb75c244ad6cf0e3581b5d479dbba5b9c7e914c5868c7438ad0eef15e4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=sha256:fc597db21904e1f2b36ac1ac84d7ed7079a9f46f4b96a75efe4259fb827884c3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-1/TARGET.bound value=sha256:7f200413e233fd960678b56b2d9caadde3d59e472e4320e2649437e1ea1d755e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/historical-document-views-2/TARGET.bound value=sha256:ca6e3d0703356b94fb0035dc15233c3479542f39fe17b891f64a9c2cf6d5056c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:64dd138ff0b17950cd9a22d3b4d0cbf9de2e3699a562dab3d73039eea14262f0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb|execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72|execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab|execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079|execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14|execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632|execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8|execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb|execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc|execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1|execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a|execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57|execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab|execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7|execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863|execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee|execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da|execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c|execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756|execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe|execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d|execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a role=reads scope=contract/published/view/usage-profile value=docs/contracts/documents.md|docs/contracts/view-usage-profile.publication.json|samples/historical-document-views-1/TARGET.bound|samples/historical-document-views-2/TARGET.bound|vectors/historical-document-views.json\n" at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:d6ee08ec2b339c9d9ca969452b8ed160b72c7aeb3904fd29b7259c0eecc008b3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:8bde3a941a1e7f4c4f48beb9f1ef1eaf12c29d2a7b23c8f0906b5eaf86f1783c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e value=sha256:6593d956ac281b7a9c92e6403384f9277e277a227729995c29c42f397f287eb0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002 value=sha256:539293014912ac0194746ff2e548decad1eda14f8a73525a9945865b4582f76c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1 value=sha256:63e651b207fb487582f29a7bb6bbedfd03b62b2877ae0fcfebcc19f0434a6547\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07 value=sha256:49db7929a22ce08b2f003e61c33d248a5311983b807474f9a472be3317e7581c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76 value=sha256:df007d6dd64c067a101af7e044dd5fe353bb18520177f5c22ca440e174f993e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22 value=sha256:dd493c8eab36c3e4b71d043d79a5e4c9a1fc836dcb066a7d01da60380fb75112\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 value=sha256:2e4d5cc1952ca5e37455de5fac85bb3cad36af31c8515aa1ee60e82304591339\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/typed-object-1/TARGET.bound value=sha256:20ffddf05e09a2d4e9c71c344de687ded6bbe59534a842b2a1ef24e4a7cadabe\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/typed-object-7/TARGET.bound value=sha256:8fbf56bc1bb119fcbe05cc158e55317092867b1a64c4acc10a91084d7143a898\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:df8a4e35a2ac0dc5679ce1416860931c98d8ed565b27fb28fb676a81f06bbe92\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e|execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002|execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1|execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07|execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76|execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22|execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/typed-object-1/TARGET.bound|samples/typed-object-7/TARGET.bound|vectors/typed-object.json\n" at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:9147692de1a14ab6e8d01a089fe962ad3b6a3e2dad22061857dcf49a3f80dbc1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=sha256:c524e2998d4be99fdf8b8ee05397c5cf750165840f2e482691f63c6d33139013\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=sha256:e3dcfb5d1ae00f5f5b607c2ffc2b0149dd8341b4d322dd9fd590dd1eb685d9ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=sha256:d47c4640be7e977e30f50baaa407308471ec030afaea15c3ab7da0912b901086\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=sha256:3d10c926cc573b445c343f84280ad40231f069616f38d5136d95c59de758f689\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=sha256:6de0947f117a3f78cdb4c8211be6d670b67c1e6a9abd8cb5166cc13c248207e2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=sha256:8c14ce13230a895e3ae4a7153431aab48c38ba39489196405a3ebf8d58753a4a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=sha256:97bed3a3d1c5cfa0042a6c4382dd7f122cd3ae91e887644e3cdf14c1f91e31ad\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=sha256:05658f47a5f3e60f3458310e86cef5483ec641e25f01a3f4c0f21feded739e90\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-1/TARGET.bound value=sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-2/TARGET.bound value=sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc|execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7|execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727|execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694|execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a|execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84|execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57|execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 role=reads scope=contract/published/view/card value=docs/contracts/view-card.publication.json|docs/contracts/views.md|samples/program-views-1/TARGET.bound|samples/program-views-2/TARGET.bound|vectors/program-views.json\n" at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:22c068fd203a09e370456ecdec016a80e7834b80e38d0edd32dfc2241098fc14\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/view/help value=docs/contracts/view-help.publication.json|docs/contracts/views.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:edfc78496423b8e58e829249528feb245112d856ab71578afc3dbfada841c047\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.publication.json|docs/contracts/views.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:c11d95f7902d59460e74bc93edf436f6891db942fbc683bb4b127d81c320919f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=sha256:c524e2998d4be99fdf8b8ee05397c5cf750165840f2e482691f63c6d33139013\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=sha256:e3dcfb5d1ae00f5f5b607c2ffc2b0149dd8341b4d322dd9fd590dd1eb685d9ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=sha256:d47c4640be7e977e30f50baaa407308471ec030afaea15c3ab7da0912b901086\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=sha256:3d10c926cc573b445c343f84280ad40231f069616f38d5136d95c59de758f689\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=sha256:6de0947f117a3f78cdb4c8211be6d670b67c1e6a9abd8cb5166cc13c248207e2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=sha256:8c14ce13230a895e3ae4a7153431aab48c38ba39489196405a3ebf8d58753a4a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=sha256:97bed3a3d1c5cfa0042a6c4382dd7f122cd3ae91e887644e3cdf14c1f91e31ad\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=sha256:05658f47a5f3e60f3458310e86cef5483ec641e25f01a3f4c0f21feded739e90\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-1/TARGET.bound value=sha256:cc81e5435e4f8ae5040c6343910a48b77270b0a3d9ecf6d5418735b511a6013f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/program-views-2/TARGET.bound value=sha256:99b083e5b47b891f3bbd9615d268259b504c63afa0c70a4b90f8a910e84be63b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:edca38d4a1d10998d94dbdd97dec7f4655e94af49afd03d2b40f59eacc721255\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc|execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7|execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727|execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694|execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a|execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84|execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57|execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.publication.json|docs/contracts/views.md|samples/program-views-1/TARGET.bound|samples/program-views-2/TARGET.bound|vectors/program-views.json\n" at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:0495f87f274e5204fa2f535a1afc29bb4281c0422485087252d84b52b983df43\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=sha256:6bf7c038abadcd52f3b7e4604a3f71be0255a233781fcb1decfbc4111cea559d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=sha256:7aa48825f7b8d1049299dc508b4a1184da96a2fe0e8979a5e73c27797429cf97\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=sha256:90ffd775ff9ef477b93cdda8468b5b2b8390c944c237ef97d4cc93c35160365b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=sha256:f6f2344b9d613df0bb4bdd26c2e4fd0af2daafaadb7f48c79df7ba79cec84832\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/inputs/037-altered.bound value=sha256:3b059746039c8b73e34bb4bc238f8a4346150b928ad4e64cc7478150b371737b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/native-views/place-1/TARGET.bound value=sha256:460ed79a0dac60f551c1635eb61f58c10e7e50a51e64b4bc618462bd3eed2eac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:6d0b20d0fd54c7468f31cdd23719dc24b22a4d6dbc6468a5e1d82eeebc59e9c0\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583|execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106|execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b|execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.publication.json|docs/contracts/views.md|samples/native-views/inputs/037-altered.bound|samples/native-views/place-1/TARGET.bound|vectors/native-views.json\n" at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:f5b6a93ec8cbdd348ddbd0e1cca9f627afcf24214b0114f652b23e92e9de5a54\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8 value=sha256:b97e2b1bf32bec9895c7f94588abcd9b8a9f9058b249f672c33840f1b1bb8f54\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 value=sha256:e2936a2056f608ea6f369276a4f6ee78278ab78bdc8177704e71a63f70b7b9c1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/walk-publication/inputs/049-undeclared-context-lineage.bound value=sha256:205584e98246abb9f6e273c26ee83e145640b5d3f64ec2f513c847c909d66e4f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/walk-publication/left-1/TARGET.bound value=sha256:d7e7e89d222c81ec003ceccd095b3f5aaa30a3b19b2d2972c5c89554f3549e03\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:b89667bfd666d39a2432ba236144c98ff30c885adec6525fa658d08fc281ede9\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8|execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/walk-publication/inputs/049-undeclared-context-lineage.bound|samples/walk-publication/left-1/TARGET.bound|vectors/walk-publication.json\n" at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:c0a68c266de6e8ee83a51a75f4d065e510f6ebf19a44ca749d7f73c13647128b\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0 value=sha256:89beef3591d30bd5dcc941dc0415bfd692712a92a9c91f5af1724d65e9700f70\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a value=sha256:5b0ae16116fb034985de3743e3520782e8067be07440cc374c4b210b0e9de17f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d value=sha256:1399afa50fdc7dfabcf98ba0670519763faa0086dc3a31f63fe88d67074fbe79\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f value=sha256:5a695a1a7ebb048f00d6b788f8de6cf0c6f84f7494e1f0791f8bed75a61cfa64\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455 value=sha256:601285a8a2882fb3ee7b734d8e8b39916db3973ce1c18974dfc6f484cc83954f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa value=sha256:c90e620048c8fad1e1b6b3c4b7d13df359b64c5448ae3b77641b3bd998108871\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:f02c44012928c83b4d234d5e19be07357738dcf0bc1db3a09061730f9938c5e1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/query-views-1/TARGET.bound value=sha256:eb0000cabe3582b4e762923bd7559ad27f8053743f990e925fd0d7e74a89e4b2\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:238c34575217eaf2e5e61d893def730002942c1b10c5c68581d60d8ebf7ee58b\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0|execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a|execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d|execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f|execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455|execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa role=reads scope=contract/published/view/why value=docs/contracts/view-why.publication.json|docs/contracts/views.md|samples/query-views-1/TARGET.bound|vectors/query-views.json\n" at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 -bound-lock/1 at=place:sha256:0083bd880b3d85f725f452de0790a00d267a761428592d693e42d4415a731755 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/89194a3b52fa5c8abf1faaeaaad28e6ba09e428f5d4aa26022463ea1452c648b value=0..0 -bound-lock/1 at=place:sha256:05bcfaa660c331766d25571f03ff0ff9c2e86da7f54fce6b321a80f0df15b4cc by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/16a1cc1e165e2d8d4e6e3016e7d8e5c5d9a725e577934cb202be2c66f0497efe value=0..0 -bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 -bound-lock/1 at=place:sha256:0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/0c305b4dd839cce277fcc945d14db6e202130f830a753578df6911335957dbd8 value=0.265251..0.265251 -bound-lock/1 at=place:sha256:0c8cfb2dd9cd6007956543f95044a01a381134d81572a16d8f883bbc13d35177 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/9fbbe2b1f7e3a13b435b3f181c74f6cdeec45563da90cae3a36f76e5d49f876a value=0..0 -bound-lock/1 at=place:sha256:106874c37ec7f7ca6c4c00731a2deaba26a361c2250088ffdd25ba63af2f7efd by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/714045e2d1b510d61fa464ca92976eb5d14101dadbed1375e897919c110069dc value=0..0 -bound-lock/1 at=place:sha256:1a093c6caad96e66df86f982a2329a00f6d6e3f5e595da019f3078a349e1d98e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c85856ab114320221d6f42434f5110e361bc7ee887ff5265a546b68cc7a740da value=0..0 -bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 -bound-lock/1 at=place:sha256:1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/1cbf56c90b7ec29df2f232abe87d47c6818f790a28b8f3e591ba717abea06f37 value=0.260357..0.260357 -bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met -bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 -bound-lock/1 at=place:sha256:1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/1f269aecce7112bdf7ec05b48e3770b4c6c43dcbe919f5477c5ff0df42969d3e value=0.279204..0.279204 -bound-lock/1 at=place:sha256:2225f941b02ce3d296ada3989c560db1e43fe2a092d44b90e0bcc3c5bcbf0838 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a6660b6acb256668896f738dbdee073276db7d9d45b6774af5c5b88bbabbbe57 value=0..0 -bound-lock/1 at=place:sha256:2524d168214ffcb867547abb0a9a5e4f66a8fcbcc35dc8bd9eba8edbf921c294 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/095085869ec0b4e59d9e93077d7478298ca24a8b04b2a41da24fd0f8f4221f72 value=0..0 -bound-lock/1 at=place:sha256:287f72c7160f4513db0cbb35163348cf6f7f28c29b15d033e5a999c5b33dfd44 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a9ee1fdf0e45ba2c48c12b09ccd489f235c31efcc1b7f38267f6d6f066db68a7 value=0..0 -bound-lock/1 at=place:sha256:3023746431a3fef4b1f699cd9bfcbe5fc4f6187230560700dd5c92bb9e442148 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/76d8a47269de3fac93640b84b136084dcece275dd2ba7d4557d15e03389cdf07 value=0..0 -bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/file-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/signing-port/inputs/004-invalid.proposal value=met -bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met -bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 -bound-lock/1 at=place:sha256:3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/3157ccea14f5068fa6c0c95fb58c13710c98d04d294865d154f4a35aa55096d7 value=0.260133..0.260133 -bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 -bound-lock/1 at=place:sha256:31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/31a0ab230b806e7289eea5f3602f7cc0b2d0b4547117f1b9e5367999e9c6598e value=0.263517..0.263517 -bound-lock/1 at=place:sha256:3368849e8d5f74990be04689c5c91e3b362d352a326bd3ea37c041641e899a43 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/7a606f461c5a1388a732a13bddc46a0b8a96b58d596b83af105c73d235d8d31a value=0..0 -bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met -bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 -bound-lock/1 at=place:sha256:36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/36444c5a44edbeef6c3359f1cb7c7b9f22365924ac0f1a3f6567e0b30b6cdae9 value=0.277143..0.277143 -bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/query-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met -bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 -bound-lock/1 at=place:sha256:39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/39bd527b83de5558d6897978336559d5bd2170e94d93742df0b9cc33a9691203 value=0.260961..0.260961 -bound-lock/1 at=place:sha256:3bd7aac1fdcd840110fe6c8e3b5eb1d7192efacc34a6143e87d15b62f0cc34b4 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c6c85296832eb5f063c22df73a733e1fbf2f5c29c70eb6a102e32f948208fc76 value=0..0 -bound-lock/1 at=place:sha256:3c6327ecf8471024ced932578a5eac82b35d54a7e5723b3ad26a8dbe39d8a5ab by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/91dd1450e049176a4c6460a9fe04ba6f35fdbad89f9b6986369c3b6c53dedb84 value=0..0 -bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met -bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/inputs/049-undeclared-context-lineage.bound value=met -bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/walk-publication/left-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met -bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 -bound-lock/1 at=place:sha256:3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/3d3be8f30b50072f7899936d48b4263bf570a00bb8af0abe8e063d3c97a978b9 value=0.289072..0.289072 -bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met -bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 -bound-lock/1 at=place:sha256:3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/3da5ff65b8cc89007fdecb65e67957f6419d216038aa48f266bec0f52a54327a value=0.288718..0.288718 -bound-lock/1 at=place:sha256:3f246e3f83fa2cb8ea453946cece7d498db7e52ed327839a099008fb8f4ad7f2 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c07c290e68bafa36e2bcc896ef3e4ac816e89bb90b7f4ed48857ddccfce3779f value=0..0 -bound-lock/1 at=place:sha256:4561889c2183bfd4b1a3125bed3880a1784a583d4b1c1e3bc33decb0cd190561 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/e53ac26861642ce5af612d712988be70a3321dbe7caec25c7ea3ca7d68587cb8 value=0..0 -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/org value=none -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/path value=none -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/host value=0..0 -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/key value=0..0 -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/org value=0..0 -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/path value=0..0 -bound-lock/1 at=place:sha256:49d1f6cd13dcd80340d7a85ef8193f2de7c804fba89fcd00a44a9d4090dfb6a0 by=reader:cff08bccafa4 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 -bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met -bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/typed-object-7/TARGET.bound value=met -bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met -bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 -bound-lock/1 at=place:sha256:4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/4a2387015d00aba9777738a1a0dffe9df9ac61a52af1f169a5efa7f94a0e1b5d value=0.258128..0.258128 -bound-lock/1 at=place:sha256:5364e7b2cfd88beef996f96254cb4da7cf9596514d5e5e31cc8dea1269f54883 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/df015d2faeac92d87f3e9d0f5e62fca5060e5b84170c5b5b315a3cb4b703bb0d value=0..0 -bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met -bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 -bound-lock/1 at=place:sha256:5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/5585f5c9e4776f2fe1fef5df36d46a88ffbcef60f76988c29c61dc833eefa364 value=0.278634..0.278634 -bound-lock/1 at=place:sha256:5aa46b6f0e2bb9f3fbb90c96a3e4deafae8820a7d6d4123c290cd0ac7aa03571 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/f12fd0f45a7af5dd76bd662b67ffeacd7e55fe9915a267c6883acce3545dcbc3 value=0..0 -bound-lock/1 at=place:sha256:5abf97496c554830bee00296b3bce4aa01592471f6bc49999cc7f1d37bcc464a by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/cb67e65b6a900d504b6de610400ae854b181f852128cc35f5c824f85b62ffcbe value=0..0 -bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 -bound-lock/1 at=place:sha256:5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/5afcca624aac00d86589dee73857c73b22be5c37de1e919bc5f57ec8a26bbaf4 value=0.257451..0.257451 -bound-lock/1 at=place:sha256:5ebf96e6f1f4fd7d863e6401b51b11aed4c62636d7ccbb3e54162ad561b6e62a by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/56b82a4757306f35ddd8e7b5ade4a401e3ce3d8f6eadca785f40b1f4f8f86106 value=0..0 -bound-lock/1 at=place:sha256:5f301e069ed98f112381f9eec9361bfb77c980d625606123923d08826dcbc566 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a7e12fd550844fff32ab78b3d211b2424163643a70d0bc59086eaf94e9d0b24d value=0..0 -bound-lock/1 at=place:sha256:5fb37a66a72e4a6d33b213370e057328314d49729687a7594733acd140b8a1ba by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a9170991101b9870457992a389a49eac3cf7de822c59f1b7679764f2fff52aab value=0..0 -bound-lock/1 at=place:sha256:6055472f34b7e24dfc694c4dbb9d53fc035b7e8e1f8ccba1b8ef798133e0bc4a by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/df096a2441b92270db243977357c85ffe3bc12e2f947e5faa879c5b55db4094a value=0..0 -bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 -bound-lock/1 at=place:sha256:634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/634bb53f85b377bf0069bd0a9257ee209726d57a92d22fcf1e4853e634c0fdf5 value=0.260703..0.260703 -bound-lock/1 at=place:sha256:65f27f5fad36449ec62f3a58e89c54200d6658bd58fd5e4e22f552446d2bb910 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/71f116d8fefeffe8100322f3ed99cd04c22b31ec0327cfd3fb60dfdc6e00004c value=0..0 -bound-lock/1 at=place:sha256:67750a8422df6e131cfeaf8ec54679cbbb6715184c546089a73c8b50cf391fbb by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/c960e710a99c2bbff161632c1c8a9ed83282f7a9b1bba4960bedaf5f3a781a4c value=0..0 -bound-lock/1 at=place:sha256:67a6cb5ae03576d8770771ef0633064d8c419aae9401589acae7c0911e3e0c72 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/f8e122270f88326a6468a61ea60ddbad066a76b8c6658a3ec3c16deee1828885 value=0..0 -bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met -bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts-changed/TARGET.bound value=met -bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/artifacts/TARGET.bound value=met -bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met -bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 -bound-lock/1 at=place:sha256:6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/6b4e041599e32aa63260f120f2772b6e7eb4e349cfb2b86935d2f0b41f13390c value=0.252586..0.252586 -bound-lock/1 at=place:sha256:6b7fba3f6bd6da59eed288510c49cfa6f7ce5b55d7b278226d6e035fc204ff6c by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/25512d9713629b565a12d473593d935fe7c891b9cf401065623932e01115624e value=0..0 -bound-lock/1 at=place:sha256:736b728540fdf1a6102632e2ef55ba2effc82bebba7b05cb31ef90a8208aad91 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/48716749d88f7d9d4daab1c0411c57633f37980fbc0d4c0272fac611b92d85a1 value=0..0 -bound-lock/1 at=place:sha256:7abf8445de1e6dcd30693d753d2566aa96f8629ebd2154f052da5da91e5a4140 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/d4ccc072195c60a65a0a319228c23ec0e401fcf853fa9b7324b7c33430f41b22 value=0..0 -bound-lock/1 at=place:sha256:7ccaedacfdd41bde557215c470db142e03994a93da3251b697757738b09b6979 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/02b3f36b6204756732c49c72da8afd47f44383663322594358e58de3b26007bc value=0..0 -bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met -bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met -bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 -bound-lock/1 at=place:sha256:80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/80ac8b80c0ed9cd087d705be73754de1ba042d725abe73eb4eae3a3da5760f43 value=0.279959..0.279959 -bound-lock/1 at=place:sha256:821f66aff87c8ce366d6f64904274a818c534cf1239e4332e88d795d9ca60efd by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/6fd3a1cb16850278e85f857aa5206a7ad4c697e1dfe14d35d3a4f1c1144b5bb4 value=0..0 -bound-lock/1 at=place:sha256:82ee8b684a44a084c4aa44115f785582e675bc7b277ca71a642667daad193055 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/b43602dc7adcd49608b2356f41da594dc4e149dc96aab46257973d89b9ed4863 value=0..0 -bound-lock/1 at=place:sha256:8353528069c95fc1fa5c4587f18d422fbf38ad4f6b1d099573f22c1a6baa704e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/071b2528a5b8c55158de4fbdcdc4fa781926eb6a3d7e636bcfce96b29d8d1dcb value=0..0 -bound-lock/1 at=place:sha256:85d6f9a34ed85101a1f066d9fd6d457a703383e280cbcb44551c6ebe4b5cf9b1 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/cb0684f673585eda86e610fb5193b633c296dfe69068c3f1011f2b1acae9f3c0 value=0..0 -bound-lock/1 at=place:sha256:8b5ca427158ec7ab8068166723d96711603ab037ab2e5d63bb383722a8606c0d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published value=0..0 -bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 -bound-lock/1 at=place:sha256:991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/991c1088e4aed31081326760728fb2b106fdd12be763d9e7bd8bc59183c38ac3 value=0.255500..0.255500 -bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 -bound-lock/1 at=place:sha256:9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/9b2fd16316689813c195477ecc3bf4cb056ddff029201ae64d7a4e754376da52 value=0.260028..0.260028 -bound-lock/1 at=place:sha256:a039d6613dfc0d439c46cb1ccc04254001548e63c09c14ec7e57d0289e442a51 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/998a548127daec74a3c1e73dc691baa9ec7b08d99c572102456041d278a548c1 value=0..0 -bound-lock/1 at=place:sha256:a2ff9f9520b572b4a0b3674deba6e5019ab4ff50a77cf949ee0b315c99a799d5 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/a782d27e225e6fde8b61e97f0edd852d74d2f38de0c75bbeee2ec6c3fe2c5b57 value=0..0 -bound-lock/1 at=place:sha256:a393289751ebcdd30822ef770a7a0ddfd1b26b8ff842de358f9c7c68215ce4e6 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/3546a974644cc0ef774bcaa151ef2a6a7fc0fe34e1002c4e099c5a8104c51583 value=0..0 -bound-lock/1 at=place:sha256:a4ad5d2cbe164c51555b6639d9879020acdb019a77da3fb75959672b1a550d91 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/b5a01c3181a662657938aad73cee806719eec28b3cce30e4956dafbfe43e73ee value=0..0 -bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 -bound-lock/1 at=place:sha256:a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/a7f4e2683fc92ac342c57a92103a48856673e77fc3067df5acaaa486d9d470fa value=0.259043..0.259043 -bound-lock/1 at=place:sha256:ac2417df4bfdcf7e2d3126b322f518428aed04f764028f7d80eabe38177a7ef2 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/49727621319d78e40840dfe34cc1ff0f2d7f6eb53f5c2bcb93d2a630b73eecfc value=0..0 -bound-lock/1 at=place:sha256:b2db194a17ba652f3365b0b235b10efd3438ec1f5fd35a3b910de29682eda067 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 -bound-lock/1 at=place:sha256:b514081ecb5313700e2bf9e78ce7df05755633582b1885cb16ca2d976d748e35 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/4bd935472ebf75bbe3a93201f18bcaeb686e64738b950f03f0fbde99bf105079 value=0..0 -bound-lock/1 at=place:sha256:bd954278d397c353a78758aa064adbdcc15d229a72e67e57a8968476045d4b71 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/72806dd73b384b1acbd05ef9ffe1c342c0165fd86cec37aaf93bc30e90173859 value=0..0 -bound-lock/1 at=place:sha256:bfe186ff5f0771efee2a747badbf4a82f5373fe8e8e3a62e909786a70be0caae by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/53ba8059dc20e7de155df9d01f3cf050190ce239b5d82f6d587e7759756bbd14 value=0..0 -bound-lock/1 at=place:sha256:c635d34d5600eac1ff4915c8f405786f83576a5a595106c6b0aa12c44df86e4d by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/8fbe124871f9438880c7329b8c811521e62a68c14b5e469eb8759d8a54c1e77a value=0..0 -bound-lock/1 at=place:sha256:c7b948e7881f8296121a86d3fc638923a800efac27d7ab6557d453f64414f9ef by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/9ad47fd6636d7d3cf91da95f1647c268ee28a02085972eafe97f00a93abfe5b8 value=0..0 -bound-lock/1 at=place:sha256:ca72ed6c2c63cd434328425812003a657a62997cb9526eb0d4b64f2ff256e6ca by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/d73a7e4e4d8ed3bb2ffa5394e6dc5c3e382002c3856041a7bb8d9e7a94352455 value=0..0 -bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/inputs/037-altered.bound value=met -bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/native-views/place-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 -bound-lock/1 at=place:sha256:cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/cb81aff82c5e7a59ae882a02ba18ac12156c4b4c1af3986e5ed6f85e510802dc value=0.283167..0.283167 -bound-lock/1 at=place:sha256:cbbd4688a8914fb9209498720ece4594b930676fea5fbc42323467aba89c1b4d by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/2914d565faf091fc3f3702c40dafc0847edaf59d091e0a29d4cdade6464074d7 value=0..0 -bound-lock/1 at=place:sha256:cc1da93de28da07b672384498ba9dece3cdf5c9eeb3d0765f3066186dfca87b3 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/6d6fd00a801e910f09fd9acbaaefc3f217f46293ee3bfdc1bf85664eea3087f8 value=0..0 -bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 -bound-lock/1 at=place:sha256:cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/cd4b67e24e7c0393c51d77324e215b9e33c53c4d644ee66faa8f5df8598b8f6d value=0.262450..0.262450 -bound-lock/1 at=place:sha256:d047b60f1a2dfc405bed2aa7d6af9b4b48f236a26657a470c00816f539f465fe by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/f9423577833cbf47562949e9d7e8877a2c57e7c8f53688f9747f13af49b552aa value=0..0 -bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/program-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 -bound-lock/1 at=place:sha256:d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/d277ac6dc03d933fc24b59816fa1c21891695d82bf10af980eae66411101600f value=0.257875..0.257875 -bound-lock/1 at=place:sha256:d3bb01758bb2a674d920ac12478ebb2952c37803369d8e630d71b541adcaf7a7 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/cb3090027c9b4bfd65e8cf07696fb9c2590111234f0f2492aeb0e8204bf93756 value=0..0 -bound-lock/1 at=place:sha256:d53dfc41d22a1a87029d5502489b6b15916981ee195e8e9e08eb283ce949771d by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/67ac1865fd44b01e5de50f09f976af02a124e7af778acbc9d58220c67ce8b632 value=0..0 -bound-lock/1 at=place:sha256:d53dfe758e7ab9804588160fdca48e3e9277720f76bbefe62a988a55027e53eb by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/873708f0368c507ddafa8c16770606469910622100bc6f6dced90f92ae255727 value=0..0 -bound-lock/1 at=place:sha256:d7c046112a13a08b512996117ebdf6452d546d85d22eb5d64bf1d8a656618b8e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/7040697926c18733f2c87fc5f01088110936ba6db103fe31bde308b01a585dcb value=0..0 -bound-lock/1 at=place:sha256:e1f4d3c0df436d00188e64c9625bcb891c22301e283af4a6c525a4f64346ed5f by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/2c6812aed98d33c247fe9c2e2694ee51fcd4c55b8aee06b026b0d799e5f19db0 value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" -bound-lock/1 at=place:sha256:f1d013c03ce0199e4e0e662104436f8d509227a1d926ba83255d6514ccdc590e by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" -bound-lock/1 at=place:sha256:f31fc28346b049efe6e74321974fc8be315dec209607d749a467a8e730bb9f0e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/3effd5b61807f6e9d0c64b7b5c61009a988259a08160a3a55c50bfa658b701ab value=0..0 -bound-lock/1 at=place:sha256:f8bded190f3b2530badb05bb021fd4cb7a7bd0c9eca74ec237f1c1f166aa5c08 by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/304caa13bc8fc4073e1b9d0842f5a4afb6f2b181cee4ec57ea8db4b618354002 value=0..0 -bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-1/TARGET.bound value=met -bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=samples/historical-document-views-2/TARGET.bound value=met -bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 -bound-lock/1 at=place:sha256:fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 by=reader:f02c44012928 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/fc647e76d9ce4cd53d3f8ee7490f27632c72f425b5589c50184142d877878e05 value=0.265955..0.265955 -bound-lock/1 at=place:sha256:fc723b0a44f4c5e161fade8770e158c58a0fb67d845908d30b254150f46b6c7e by=reader:f02c44012928 form=interval measure=count role=reads scope=proof/execute/8b7598488e52b98f29a3b8c11e35cb33bc8137e2720a0e0124532062af3a9694 value=0..0 +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=071d908324529800 +bound-lock/1 at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=09f95300564a2597 +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=1ebd2fb40bd9c4da +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=20a5809a736d1648 +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=2a49b6a91dd16cee +bound-lock/1 at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=2c8d858d0a2d739a +bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=2cb559ed40efa558 +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=2d04adfa562a1477 +bound-lock/1 at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=2d105b936f1ad95d +bound-lock/1 at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=2d1fd8c7ac82c5f2 +bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=330ff2c1eff19e4d +bound-lock/1 at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=35c295396fe48de3 +bound-lock/1 at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=375927d10a1ab54c +bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published value=3cc406dc78785a8e +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/why value=4240854df5d1e6a6 +bound-lock/1 at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=428fd66e16ff6c94 +bound-lock/1 at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=4fe32ff0efcbb684 +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=51c635c6bbf573e9 +bound-lock/1 at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5d252a39a5e2e1c2 +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=637f6f93ba7d3291 +bound-lock/1 at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=6649c3496c7363c3 +bound-lock/1 at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=68135abf8b3d3949 +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=753fd8d9924fa763 +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/card value=7c8114b57169ee07 +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=83b36d05ab9ae7b5 +bound-lock/1 at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=960c34893ee4d384 +bound-lock/1 at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=972a9fd39eaf078d +bound-lock/1 at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=975b8ef6e0522023 +bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=9799ee315fb83ec9 +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=9abcbd07b03d0f7f +bound-lock/1 at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=9ea7fb1da3e8b7a3 +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=a0541d7dd3e4cf74 +bound-lock/1 at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=a3275d51a28d0179 +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=ac4d615f33093661 +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=ae0831f740958998 +bound-lock/1 at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=ae944235f9f31de3 +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/help value=aebd31c736e81397 +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=b043341704c0fc34 +bound-lock/1 at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=b0ea35f7168ed26b +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=b5750248a64817cf +bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=b9ce50ddf902f16e +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=b9d645d43a565a44 +bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=c1bb280370ffd655 +bound-lock/1 at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=c46e5245442d8468 +bound-lock/1 at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=c5981d283d564035 +bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=c9c398754a4d3726 +bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=cb7a5607027b337d +bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=d2eb1fec213fc191 +bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=dab94601f6ee76e5 +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=e0a39d3f852d5c01 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=observed role=writes scope= value=e2602308ed24728e +bound-lock/1 at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=f02cd38d39c5a14b +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=f2ba95dbc77e18d3 +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=fb6841cdd1a9f691 +bound-lock/1 at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=fd71d5ce54a30a49 +bound-lock/1 about="bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=5..5 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:6085a889a9b94fd27e55e004fd46919fe5889fc1851cc22bfd86d2c97badb4c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive.md value=sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=sha256:b45fd971e6975b1965057d4028d083d3cc801e2f713bf226840cfe54adfeb7b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/archive-conformance.json value=sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/archive-conformance.json value=sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/archive-conformance.json value=sha256:c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f role=reads scope=contract/published/pipeline/archive value=docs/contracts/archive-conformance.publication.json|docs/contracts/archive.md|samples/no/archive-conformance.json|samples/yes/archive-conformance.json|vectors/archive-conformance.json\n" at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:efeae360709b0bdd9e0641e65bec91a3a3a29c534a982dc287287ae7afe512cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:c95c704f175e189b1d0f7f0a91374e251689e0a2f7265cc759c55cf5b9e8be1a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:8187552aaee39c9e2b748158623ba341f8c2e132a3aa472dcb89b1986311796d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:c6b3a00809e69db29861160b6dfaded9d491cb398f48d4ba18f583e8f2d74a1c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=sha256:38eab0f25722e8559d4afc43f78d66f54d7b1ebcac04d5f87c09d60778763544\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/signing-port.json value=sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/signing-port.json value=sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.publication.json|docs/contracts/cli.md|samples/no/signing-port.json|samples/yes/signing-port.json|vectors/signing-port.json\n" at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:8fd8362d2b64292c0eb5b587984e67f65417df611ff0f35876af58e42ab3f2b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/citation-file value=docs/contracts/documents.md|docs/contracts/view-citation-file.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:c60066fb7a05399af4f62aff0e30a18c5ceb79c229bef6fa2369acd880eec428\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/explanation value=docs/contracts/documents.md|docs/contracts/view-explanation.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:40c884f7e1f7004330767073288fca859239cb621a565e5a4348b3b5243854fd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/guide value=docs/contracts/documents.md|docs/contracts/view-guide.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:51b9a7d904d0d6986c8e392c3bd9a64edc75ecbadbdc5056d6dd69cf380e6d02\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/manifest-render value=docs/contracts/documents.md|docs/contracts/view-manifest-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:74d5de324c84700455fd5d1f27ade0db283bc819bd7077fa0ba5b9bb91185ebf\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/readme-historical value=docs/contracts/documents.md|docs/contracts/view-readme-historical.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:2d79bedaeb09f7a983d7825f2155f5830c2a12a913a77f5f8246391015c63bda\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/reference value=docs/contracts/documents.md|docs/contracts/view-reference.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:bddd22afcb7479de5e1fa835bbd7edaca668859a33eb58a64aa9e94c86aed0a1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/documents.md|docs/contracts/view-release-workflow-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:017235397bbd6cae017dc257fb2db87380325046ae87b63f2db53b0d6205e904\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/tsconfig value=docs/contracts/documents.md|docs/contracts/view-tsconfig.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:e0fe246c4768c2022524fe54d7eb0849a2a8cbc3b3ba9e94ea34f5fa9a2b84ef\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/usage-profile value=docs/contracts/documents.md|docs/contracts/view-usage-profile.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:e914a8753b6803c73ed05166a78577742e4fc684e009467e94882f9fd58c3dfb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=sha256:fa5b851eb8a0a4c81363cdfd010a36d39a8e8e831c032dcd768a881ed53b2c6e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/typed-object.json value=sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/typed-object.json value=sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/no/typed-object.json|samples/yes/typed-object.json|vectors/typed-object.json\n" at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:1d50d3bce5ec3155cf5ac1f32160a27cbb5c67b4bf23d8397dc5b3fb192cd709\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/card value=docs/contracts/view-card.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:90c3752d23c7429f512ed780ad293652db5b3098d91bdb63d1f4b86753b1aee0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/help value=docs/contracts/view-help.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:a6107a627b7a2cf18d96bbb1a21f61b1a3562c7eb6a67252cf94ac4964e7c23e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:d22ea5b51f369bdb89d8ff762cb61f5c05994c9eaac3e59131ed40139b2294f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:1275c2f0fc854ca3c115aec57b6a2800425026a12c1c35c874857c6fa2f692e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:d9f7d39ef313e213748a77e190fb6347aad98e378cfbfb66e97eb7e86d39e2cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=sha256:1ca81d8aafbe25d3e23eeb2b7b777c70ce5cce67519cc1738463d8e40836bbc6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/walk.json value=sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/walk.json value=sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json\n" at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:b554a63a3c9f2cba85cbc4cc4809324f0cd8c4903326029912270bceda206acb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=sha256:8cc952a6b3c3a70fd90d59ecdb9089d3c48d9bb03940b97d4aa857eefed64097\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/query-views.json value=sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/query-views.json value=sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 role=reads scope=contract/published/view/why value=docs/contracts/view-why.publication.json|docs/contracts/views.md|samples/no/query-views.json|samples/yes/query-views.json|vectors/query-views.json\n" at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 +bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=0.202563..0.202563 +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 +bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=0.209962..0.209962 +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 +bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=0.197739..0.197739 +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 +bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=0.207598..0.207598 +bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=0..0 +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 +bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=0.208077..0.208077 +bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=0..0 +bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published value=0..0 +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 +bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=0.200795..0.200795 +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 +bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=0.201813..0.201813 +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 +bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=0.202448..0.202448 +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 +bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=0.205380..0.205380 +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 +bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=0.201321..0.201321 +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 +bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=0.201784..0.201784 +bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 +bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=0.209941..0.209941 +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 +bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=0.208624..0.208624 +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 +bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=0.203790..0.203790 +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 +bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=0.209655..0.209655 +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 +bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=0.199971..0.199971 +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 +bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=0.204573..0.204573 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" +bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 +bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=0.206477..0.206477 +bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=0..0 +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 +bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=0.203591..0.203591 +bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=0..0 +bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=0..0 +bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=0..0 +bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=0..0 +bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=0..0 +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 +bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=0.202126..0.202126 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/org value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/path value=none +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/host value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/key value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/org value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/path value=0..0 +bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=0.209608..0.209608 +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 +bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=0.209015..0.209015 bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=status role=writes scope=law/a-fact-is-a-printed-line value=present bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=cone role=writes scope=law/a-fact-is-a-printed-line value=samples/yes/a-fact-is-a-printed-line.json|samples/no/a-fact-is-a-printed-line.json bound-lock/1 at=cone:957f15a6bf76172db7ad6fc3ad985d3a2d29d53b0d7f26496278534a6b27eaa5 by=judge form=alphabet measure=status role=writes scope=law/a-refuse-plants value=present @@ -381,57 +290,57 @@ bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f1748464 bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f17484642a79e by=judge form=alphabet measure=cone role=writes scope=view/release-workflow-render value=.github/workflows/release.yml bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=id role=writes scope=view/usage-profile value=text@3 bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=cone role=writes scope=view/usage-profile value=docs/usage.md -bound-lock/1 at=place:sha256:33c3e9e76e221cd7801920a97c689240b3d55c6c59cc7d9532fcb5f256ccaaf6 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:33c3e9e76e221cd7801920a97c689240b3d55c6c59cc7d9532fcb5f256ccaaf6 +bound-lock/1 at=place:sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa -bound-lock/1 at=place:sha256:7a8f3e1b7b830565da542c2991213dd1eacb50e0380d58cd07b77d561a2ce8c8 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed6fc8f76a03c9ceec622529f5303330a6c8a06004d59a84484cc3216b149198 +bound-lock/1 at=place:sha256:6ff80b89e3704e72e5950afddacae31aea57d274d0d0e38865386cc4ae5db1a1 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:a130a36b86251f6e315bf9188bb950ad6fca5ad2779402f60e23263fb62b552a -bound-lock/1 at=place:sha256:7fc0a95c53f57674f240c91a742e3ea7c55a9527ef56ff587d65e6804d01765f by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 -bound-lock/1 at=place:sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c -bound-lock/1 at=place:sha256:29c2f00048b02e0020e38b0755ff5ffea41dad39fcb89059dd46c7029fb1597a by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 -bound-lock/1 at=place:sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:2fc2dae89d721dba30803b1c51380807f43ba1c971cb9e1dc2f63b34bd9fe18c -bound-lock/1 at=place:sha256:805a9d404319e6d820fb9dc36575549aca976af8e08af7f51f32dcb5674bdfeb by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:99ce1e364b93bedf7c78f4253ac624ebc941b95ebf89d2910fddea3eb157dfe8 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:19c93b0d4eeff93508ab0f8f48e0212e1903ba56b8d9e3ba5d2cc12b789b7d17 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:ab496bca35fb3b60f3caa676bf0d8242a48da247b3606036871c8b339e0c4254 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:61f1b1b99c84538f8f1f5998b59092f5bbaa330fca9bb816ce91c5ff470ddb3f by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 -bound-lock/1 at=place:sha256:43481f248feb0d4477a24c806edb3541a95a29984ff97e1ac9cd34a8765bf518 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:43481f248feb0d4477a24c806edb3541a95a29984ff97e1ac9cd34a8765bf518 -bound-lock/1 at=place:sha256:d9629d357bc4c368a58d42e7d17473b0453f033ecd44ad22de65b6b8ac52ce2c by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:dbd7aa4f43a685437d717a015bb8c25040792f708ac5d71146415db7ce89e821 by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:232555574185f564dba95a2e0720d0f18e21ef9a06f432050878731a5db46500 by=bound form=interval measure=count role=writes scope=receipts/execute value=54..54 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:ec48820ae8c12dc2aa3ee5bc646fccaa56caad8cb9fd04ec09286695a4067c37 by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:b76a4f424eb5435586fa3ecbc21bf65e1070923378446183fc6d6eb0ed3875e3 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:3b3d39edf4587b94b3486f8fa864c21892b757c9d8c2e6a9a1ab5963ff849bba by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 +bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 +bound-lock/1 at=place:sha256:6ea00fe75e77dd8e5ae6b19d5bc5331bb5f7da7f3040af6c088d24971c95506a by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 +bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 +bound-lock/1 at=place:sha256:e28f4a732376af3b91d9820131ec0fea2d3f814f66904a882257b59b1d5ec3e3 by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:1b402f9910292cedfa38afcc3abe2f288263ebbee9733fd8590ec1398991d930 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:2209d76ea55d9537ffc5e24bb674b0cf396d1e13696aa6b5553cf852b612b732 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:05c8e941784d1f631e42278c37715c9ef9a9755e71bf99c36c0155f45ded8de9 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:9caf5678b5c72882aaf52eb10a442b433c675cb2966fbec1a0dcc613d1a0c4cc by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 +bound-lock/1 at=place:sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 +bound-lock/1 at=place:sha256:aca94c640be46f4f5a4e536549d2f3c72a1881a686a137d0e5c0a1254e595d00 by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:14efce37002fcf7059ba79f536b5977dec16b6a3f420c9ece61c188f742405ef by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:4d11cf355b6e3095ede19601c21191720bf4332d8c466046ef1c66bf4b68b9eb by=bound form=interval measure=count role=writes scope=receipts/execute value=8..8 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:792cf4f8e792f74be2d68726ea20d0a44c3c29894a5dd45f69db45575b2c4fed by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:54a1aa95180da1823567572736a95624f73abf2d449e10e552c65ce6d506e086 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 bound-lock/1 at=place:sha256:24023fde10bc3f5ad0c60d2b04cca3907b111a5431c6d6f0fc1171a9c3a67c8c by=bound form=interval measure=count role=writes scope=receipts/law value=10..10 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:73fc3919181a0b8d80f9d6245ece29e10def1c375e7465f13333022762bf7f8d by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:5a5d6a2dfc4e55a37c40cdddb9e0df910e22ebd1c40150dd1727214538c58e13 by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:5289922a4e98fbf39c78ebd084a9fbc9d1dd137e34cc12562d3eadd305a68da9 by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:44be7c8f47c574f6b9f24cc01bf30fe28ff22ceb260fe427ac0b90842755febe by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:03b7b88844f771ed190a55d71359a4446eef555b6c59d3f168c5ce8db8dc8253 by=bound form=interval measure=count role=writes scope=receipts/proof value=54..54 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:a0c8687c91fffdd14ad592302a71d9e8c379ac71d0c5d88e4ea45488ff1b1a58 by=bound form=interval measure=count role=writes scope=receipts/receipts value=88..88 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:ebb208a643db242b2413a8a6b5032baa7c50af4f61eb614b335a26b8c4e3f5cf by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:39780e005b2d6458f41c93479bbbdb2d296b05fa5e6e6ab79b76539220c39678 by=bound form=interval measure=count role=writes scope=receipts/samples value=43..43 -bound-lock/1 at=place:sha256:ac8137c6f32a84eb2b00da86567a16db682499a8938453cb0ae809f6a12c424a by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:ac8137c6f32a84eb2b00da86567a16db682499a8938453cb0ae809f6a12c424a -bound-lock/1 at=place:sha256:349ada274bc68c32b224038dd28009b95ccd50b0d9368cd06561925760623886 by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:c9bcda14a15517369315ee4b5813e22eb536b420efc61ae7d8db1895b2362fac by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f -bound-lock/1 at=place:sha256:c3403d9c6d6cdddab8faad47739dc8d905bbed9f2fe12a2d44a0832e28239ae4 by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 -bound-lock/1 at=place:sha256:73d263e27dac0af2913e6f6b8e7c3196d4edd90382c35fbbae65d9bcb41b89a9 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:73d263e27dac0af2913e6f6b8e7c3196d4edd90382c35fbbae65d9bcb41b89a9 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:1e455d16eae3f8af6ec0572b277acd383acbc15797955332f993ce9a75ed8303 by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:19fb1641fca77d7d8ce0ed6797c03b64f4704ebd1297cf34ed2dc3e39ae5a897 by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:c69219e03418aef9a6fdec1279c4c1a7a04cdc03b1f5df113b46659c78ed5a9b by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:60757662e0989df1c0b2b14ebde02148eb13f1ea9abd191f0ccd2dac22ae3c5b by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:567e86393603a36f9ad7d3d58dfb59d88eb88756003ee41ce3164d8d5f21195c by=bound form=interval measure=count role=writes scope=receipts/proof value=8..8 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:7f26b5d0a88d9ff21dea731a4a48f405311af450744e0f80c3e614acf1aafae3 by=bound form=interval measure=count role=writes scope=receipts/receipts value=88..88 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:bba2c1d6191f67318ec35a187171e2df4f4d6b8b337e10fc2dd015cc7f733b9a by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:5208d5afe14557d699922e705563f09a3984a52914137edad9a0131c3a12794b by=bound form=interval measure=count role=writes scope=receipts/samples value=44..44 +bound-lock/1 at=place:sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a +bound-lock/1 at=place:sha256:4b33d417a5bf1d38c2e54272a5d73b86971166d546620d9ea7b9fb72c579368b by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:483602dc2e165aa25f851cc40c233a0f675eebab7a40ae87fb6e23a527a94e26 by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:d96f2e4c2bdbbf99706ba9c51166874fb4ed9c7fd06c30784e5c633b1dabd0de by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 +bound-lock/1 at=place:sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 bound-lock/1 at=place:sha256:1c9ee8060471185a172fbe44aaa8f375282fad5c1550160adbb180cded3bb2b5 by=bound form=interval measure=count role=writes scope=receipts/view value=16..16 -bound-lock/1 at=place:sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:29eca3936419f62fd0eb939f633f57a18e90f6caff214894c89e7d06001a136f +bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 diff --git a/samples/artifacts-changed/TARGET.bound b/samples/artifacts-changed/TARGET.bound deleted file mode 100644 index 5b443ad..0000000 --- a/samples/artifacts-changed/TARGET.bound +++ /dev/null @@ -1,112 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:c0de1512ad0955fb6f6ae69567ca0912992f3b3e865f82446d432f74eeedc2cd role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b role=writes scope=dep/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b diff --git a/samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b b/samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b deleted file mode 100644 index bb09c46..0000000 --- a/samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b +++ /dev/null @@ -1,6 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=alphabet -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** - diff --git a/samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/artifacts-changed/fixtures/history.txt b/samples/artifacts-changed/fixtures/history.txt deleted file mode 100644 index 2fd6bef..0000000 --- a/samples/artifacts-changed/fixtures/history.txt +++ /dev/null @@ -1,51 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:fsoKXn3O1TzizAkR00e09j2kWLHAwqyWdZxiVyiy4L6KLEl4/htzACoNxGMTANeoVdiy79Fx3nFda6A2q+oUBQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:7eqvdrWhRnOvOwKIhdgZYu13ZE0RB2Vgt/PMTu016qsFO3NVhWJYmwXlklNGuCCJN85Yng3bKqEAWtqbh3b5AQ==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:WNs0nnDRESiY5fGI9tV8MN/PTQO7XfqlxL+p3xoiY1/I3yNnCzhnUq7eNvZwl+fRWY1LF0vqsjzD3FUTG9jxBw==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:MGf3ndDGNNTfp+qks4Cus9CbskelLA2Qm6HarY1KpwEYRB42JUBBKmtg8QmFeESJtR9fXE5cCJwyqw4fGh6pAA==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:qK2Q80J7vsMqBCBnWnrQLqLqcP6ZpHsjhGHwAlXMA2oz5LOTrW8yjRN9OiD+qOqo5PJZdqC44DJYoQyxhE0lDQ==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:wlKgtlzM5UdsSEvViR1l3X+ZHIODDH3RiWBnqfHAYTNdLqyrIdoLJioXE3jEgCatjI3y4uaT/duAhmhUcTZdBg==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:yrGJ7ga1azQlT85jxe/MsvkQDTVZzxEU+jBeJQ7APqQZqs4c79/5O1TTngFjQJVDJUqnjyrkZKRKB/gd4VmDBg==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:E4uCB2jYEza2vvX+lad/BMAipp1Kk92dx+DtkwPFfa+grG2oSSUZ/Z3kKWB946g9v3KNyBiUTBzJGr8PuXYyAA==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:A8rSpxhsp0wCrjEYTlKSCkFTw6Zj2BtseIM9FACoWA1+Q080q8QFjxHWSwlSGSktrGtJf+7RyRQ/xpdGpaqiBQ==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:16csW4Ea6oPKDSL23Arl9i4jaGsdKBsr6gJ+VV+QeNLW7HCQCGm5h1jnTLgR8SUZ+Og+TohkVJRCVS2hllLpAA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rdQJUBtU8Fd6LQIe14kfgR2eEs8Wl79vNweEHYyvQ3Qn+s6iKR6wosoThbDrLcWOnJP+TrXbD6wDOvkDolozDQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:/snjQJa9r7jlTAT8LVW2mwzaFPcmmb8xtK4TU66sVk8fejmWYrtUppyUUioFDrwqhhJHEdqn9AHWCG6kbb7XCA==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:gfTlcqV5+7KEiZn0GxFVMEqFButn0n8VDcc2TmMVdr4TQqcmUoAF/YVBeypFALfyPJMfBXTvcBqAj4dHhSSeDA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:e1UqHxqwIScoyiuy95XamXlll79tXD3Mabci8zIRrtboopGcXSp6Gc18saZboRdH1lfpLPVO7YIKX9xOx71bDQ==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:KPMtNxch7mmqOajlYvI4JNWO5NeL2oqyl2YSkmMTBNDiNVm18MkPO4O+J2VB2EzDb1LQgiDT7KJDbS6UubUkCg==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:Ct/oVm2ARJUn05K8/Rxzu9ymLWiYPh/QqAMUOdGg6dc3jjh0iYYBK7DI8K44LAWCSkNAdYOmd/JDs22luLH4BQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:7q8e6wID2ao9bIIQAA+g7T9cH3ANTmfAIiFyZY2cqxBn51ehoPAX5zAXqlXrOHdgUt60/mHBTDRTssKTytjXAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:PkKJkVAPyU5wEP5cnrSJ0FfNAknLyvAo27P0PfTA0KKQxyaYgqX92shfyUa99Yiyx+GfwnzFEkzpF9PyM9PsCg==" value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:lcFw6pgCrEsppizHePIKypcdN0oY/nyr9k9tZ7/RycbuCt49nypvcd0Pa4GEHTgZFCauXn28qTA3OXH/pkanAw==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:/zZKzSxDkS5PiyKzox4oqZz38nc4ikBp8j7r1S4fECNGU0+aVH457wWLtz74we1NeZP2CebgP0rgPKw6xXWsDg==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:sdZNelhshhoha30FtPvKkuTzFv/1JuhXoauNUso7OKpOj/0asDGV6skVdQptvlIC0jsOuOTGjh2PWLe6+eV+CQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:QRLKh3Zvgn9SmYMkn3D/FviZgJanOeBHl+bDfjaeBHbOB5iUSWPb0oHOV7gaXszyVXUEnHsyHjsxIRQPEIF5Dw==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:exHI4GkZb+CcG08rKNQI9m29BRbe8kCxaKmanxXJzmhBJPYacFX20WHknYE4mbIjXGFaH0G8k9+rEHlQBfUeBw==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:xI2jGW7VMLh1TmruqSaZdDBb9K90RROEOVBJgpKyjqK0QrR/Z9ppHZAacUy5eSfU/btLR0oLpfKwx2BTT0RvDg==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:yE8a4nIpC2OOWEStdTtHzokLXEWgmZSWTgVB5TKICRtSMu56ze/jtsUXXeEXsSo5iPS5sj5xqwc3+mQeSxomCQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:uOZWcQFHkTPywqEpXLlUFuV97cakGJwiWkjU1N82m5oio7HMtXS7uT/s8gzhJ/GKdg/89K8ketYVNV822m/cDQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:bjFjYUhsJgI7nfq1qVziwOjkEFWW+5DL7n4VUmLwlaMzFXX7exMYVXVABj0/JHlat1GIw4FCJMf76XKruI4/Dw==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:YYL0mXux3UDDt7eYil0gVXOApbTG3HClf9R4zLcxCUcHyyqc5bHtR0mqbQVeymNHoj+/u1PBiv6H5hYzgTuACQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:oiGDFqrtyLWN0vhKzYS/4JQBxaA8RVqW/pNGX0bLeH0uBQyozd+G/ZsJkDs9hnm6TUP0ELDZoTPuMng+X7mUDg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:hLHaxilLdRyhrYEqMTcqL+8yZq3mP5FkakW4Rcm+ss7kIay+rwVEF2K2qSmgEmyF+DRSko+wFt5umeJhRt3lAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:7TFIdvCJIht+p5G0BPG6o7A8vAEBPOvFNpIXTO+flZycSS4uDbis1ZSbLZSxdNHWPJNFHBsw+nY7c4K4mDwjCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:4A3FvSr/luM6OEDF6zK3BsPr5tdIllWkZuYqEOiPruw5zxYOz8XoF3xOgSiPonsz2pscxCy8S97L2D6DVKlpAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:NcBypwasrVfpasLYp4gBqGK2RU9ioNzpOVB9nXxr+nzCJbLGYmnVxBJ/2YtKpCMuin3Rd8xFPIwfonmvdRDYCQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:xo9KvCXl1YgGd/p2Pos48NyMmHg6WHXt2iqKEOY9eVjh0hBuUW/m/549fIy3sfN0dBN/oGh2H/Gb9yM5QutDDQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:fRy5UMVXFdaTMhLSrNPjkusWRu5j9stGY+q7lMqfEEWVjK3DBO4Ykby8Qfm/Yl7XWxGURrxhfVWdq/U1eTCzCA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:wbaWfrI2xcIQdb8l1F4J25relfk0xhZV217wtRgAic595l3xatTEH6P8N7ggFSSxr8VnX9VX9yiViG3yiMISCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:evnsy8jLJhkj8/7ToJMe62ZYDOjV9cqu+i6yhSMrhXHH9TiDO48Ty2URhx4dMCBxrrNXU8UhAHvWS1itc9f2DA==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:KJ5MPA101oxwfwi1yQpBDP2lSS5topuU1h6PYC6CzLScY5S0KlUpztzCevnNC3PI1pJJ1dmtCZHBM42DEJuXCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:wSmrQSPzUU5tKVQupqOVxIb6Yvi0JQi9eX+klNO9Ka6vLQrJ8xCNQlx1sEJLa+5jjEa3+KCk6ktg6X9WaSS3Ag==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:vYEllVo7ZVKfzoAsKXCVxCiCr8FcI7u22q57RIjCW90Cauq5/M+Er2SvtuM5uRVSHrvZ+DhBtTboIllMxGsiCw==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:ZRmisK1tVel8nDYEHHWT1X6D7yb353qfeIlcz1rVzpzlhPkuiQv0Cve3ADWE2HZKwmYenWMsVHVd2jhR6lUDAA==" value=local-opening -bound-lock/1 by=device epoch=2 form=alphabet id=def-B measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=B sig="ed25519:sample:81P8XEhv/0d2swoNWzXdryLglyIXKkhQGab+z9wy3hMKpQ+ZXE84trbdr128wVbqKrmWzrfRI04/VUH/50ymCQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=2 form=alphabet id=def-C measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=B scope=C sig="ed25519:sample:pvshfu9B6PIcASb1eZ7deBlx1rod/MQutiZm6p9PNRX5ArZcZlfWHosvUKY3pznlaqF1KhUIjS0S088WKNuvDQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=2 form=alphabet id=def-G measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=C scope=G sig="ed25519:sample:ipebuAk/E0iI92hXpSoWvyHdgnIAKGjOnXKroHvZb1EB6R9q6U5iuhWjPNF5FkCDl+KO/slhtRUtqyU6lLBJAg==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=2 form=alphabet id=def-D measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=D sig="ed25519:sample:1eKTYuOOr7TOL97olsTSKR348qPtzbHz3rlnjuJbFOEztJLOA+mjJSmQfqG4neE80UM7Q77lhTzRTqIGrn+WCw==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:LBF1AmniKCyZM2o+Q+rX7QzwvL9/DfJVvQUiQSj+gbbZ8zb+1oMmMgjfEXrV9uguxdWwbDVx86isWGzxurazDw==" sign=+1 type=mark value=lock|readme -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:H79o4telnuw8lWB86saqXhuDAfhhHcwIRvmhMkx4tKC/rCuN530pqTBF+U96UVhO6/ZjqpNgNi+QdLQYSI2oBA==" sign=+1 type=mark value=lock|readme|source widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:sB7ah2xtyiqiOpMwIc+ybtl9o2G+Ll5K8DSNJu3OY+cOWWTi+4X/g/PMAQWAxMUcbo8sp1LHhD98pSAGn8N9Ag==" sign=+1 type=mark value=lock -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:c/GoQ2CXsA6rFZQcbravEUCxg1cCZ4ex3Tny1l3h8/wCHYXECcCpj6Z0GJY0FaZd9gRLRfOMQs97CIqgGTHIDg==" sign=+1 type=claim value=lock|readme -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:K8Uj3o729531ncJyscBp5pSX/sf+p69wQe2f7RxWuE7mLTi5oDBrSjK/Or/dlEPUjCert26uy5xMOJ0wRWUbDw==" sign=+1 type=claim value=lock diff --git a/samples/artifacts-changed/receipts.bound b/samples/artifacts-changed/receipts.bound deleted file mode 100644 index b788ea4..0000000 --- a/samples/artifacts-changed/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:86e41dc49e3c7f78633751b51819eeec651c2ba287ecfa235b521fae592b5d44 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:e736bb6d404c0ed31af8e27b162990df0de6fc022cfa3cbcd267f9641380b204 -bound-lock/1 at=place:sha256:07cbdda3673be18b638348a97f4e77798eec1a574c331fae5c4b6945a7e2c9c4 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:0fed764bdd45c1d568dad83b0067f882f54f24099b42baf52830ee57312f8436 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 -bound-lock/1 at=place:sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 -bound-lock/1 at=place:sha256:1cd96a4a0f9d9c7e74a48dbf08bb9f517a1deb52ed76235f2177e756bef17273 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d -bound-lock/1 at=place:sha256:79e2028d8782d004bd13f0d5072641259db4d5837fb5027be206a14764530ec0 by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 -bound-lock/1 at=place:sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c diff --git a/samples/artifacts/TARGET.bound b/samples/artifacts/TARGET.bound deleted file mode 100644 index 5b443ad..0000000 --- a/samples/artifacts/TARGET.bound +++ /dev/null @@ -1,112 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:c0de1512ad0955fb6f6ae69567ca0912992f3b3e865f82446d432f74eeedc2cd role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b role=writes scope=dep/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b diff --git a/samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b b/samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b deleted file mode 100644 index 73010bb..0000000 --- a/samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=alphabet -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/artifacts/fixtures/history.txt b/samples/artifacts/fixtures/history.txt deleted file mode 100644 index 2fd6bef..0000000 --- a/samples/artifacts/fixtures/history.txt +++ /dev/null @@ -1,51 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:fsoKXn3O1TzizAkR00e09j2kWLHAwqyWdZxiVyiy4L6KLEl4/htzACoNxGMTANeoVdiy79Fx3nFda6A2q+oUBQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:7eqvdrWhRnOvOwKIhdgZYu13ZE0RB2Vgt/PMTu016qsFO3NVhWJYmwXlklNGuCCJN85Yng3bKqEAWtqbh3b5AQ==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:EOAV3u980Qp43u8EyHGufbFnwrFGSxWlK9H65ZkJuMTl1DxF1jbXrnHKyjcrKbbVSqJYaQ8jHszrKjpuIlvUBA==" value="MCowBQYDK2VwAyEANnNHFgiy2NUIupVAPOZV8ulgmqfKWNSjqQLyFHXVV5E=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:WNs0nnDRESiY5fGI9tV8MN/PTQO7XfqlxL+p3xoiY1/I3yNnCzhnUq7eNvZwl+fRWY1LF0vqsjzD3FUTG9jxBw==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:MGf3ndDGNNTfp+qks4Cus9CbskelLA2Qm6HarY1KpwEYRB42JUBBKmtg8QmFeESJtR9fXE5cCJwyqw4fGh6pAA==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:qK2Q80J7vsMqBCBnWnrQLqLqcP6ZpHsjhGHwAlXMA2oz5LOTrW8yjRN9OiD+qOqo5PJZdqC44DJYoQyxhE0lDQ==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:wlKgtlzM5UdsSEvViR1l3X+ZHIODDH3RiWBnqfHAYTNdLqyrIdoLJioXE3jEgCatjI3y4uaT/duAhmhUcTZdBg==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:yrGJ7ga1azQlT85jxe/MsvkQDTVZzxEU+jBeJQ7APqQZqs4c79/5O1TTngFjQJVDJUqnjyrkZKRKB/gd4VmDBg==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:E4uCB2jYEza2vvX+lad/BMAipp1Kk92dx+DtkwPFfa+grG2oSSUZ/Z3kKWB946g9v3KNyBiUTBzJGr8PuXYyAA==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:A8rSpxhsp0wCrjEYTlKSCkFTw6Zj2BtseIM9FACoWA1+Q080q8QFjxHWSwlSGSktrGtJf+7RyRQ/xpdGpaqiBQ==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:16csW4Ea6oPKDSL23Arl9i4jaGsdKBsr6gJ+VV+QeNLW7HCQCGm5h1jnTLgR8SUZ+Og+TohkVJRCVS2hllLpAA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rdQJUBtU8Fd6LQIe14kfgR2eEs8Wl79vNweEHYyvQ3Qn+s6iKR6wosoThbDrLcWOnJP+TrXbD6wDOvkDolozDQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:/snjQJa9r7jlTAT8LVW2mwzaFPcmmb8xtK4TU66sVk8fejmWYrtUppyUUioFDrwqhhJHEdqn9AHWCG6kbb7XCA==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:gfTlcqV5+7KEiZn0GxFVMEqFButn0n8VDcc2TmMVdr4TQqcmUoAF/YVBeypFALfyPJMfBXTvcBqAj4dHhSSeDA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:e1UqHxqwIScoyiuy95XamXlll79tXD3Mabci8zIRrtboopGcXSp6Gc18saZboRdH1lfpLPVO7YIKX9xOx71bDQ==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:KPMtNxch7mmqOajlYvI4JNWO5NeL2oqyl2YSkmMTBNDiNVm18MkPO4O+J2VB2EzDb1LQgiDT7KJDbS6UubUkCg==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:Ct/oVm2ARJUn05K8/Rxzu9ymLWiYPh/QqAMUOdGg6dc3jjh0iYYBK7DI8K44LAWCSkNAdYOmd/JDs22luLH4BQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:7q8e6wID2ao9bIIQAA+g7T9cH3ANTmfAIiFyZY2cqxBn51ehoPAX5zAXqlXrOHdgUt60/mHBTDRTssKTytjXAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:PkKJkVAPyU5wEP5cnrSJ0FfNAknLyvAo27P0PfTA0KKQxyaYgqX92shfyUa99Yiyx+GfwnzFEkzpF9PyM9PsCg==" value=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:lcFw6pgCrEsppizHePIKypcdN0oY/nyr9k9tZ7/RycbuCt49nypvcd0Pa4GEHTgZFCauXn28qTA3OXH/pkanAw==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:/zZKzSxDkS5PiyKzox4oqZz38nc4ikBp8j7r1S4fECNGU0+aVH457wWLtz74we1NeZP2CebgP0rgPKw6xXWsDg==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:sdZNelhshhoha30FtPvKkuTzFv/1JuhXoauNUso7OKpOj/0asDGV6skVdQptvlIC0jsOuOTGjh2PWLe6+eV+CQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:QRLKh3Zvgn9SmYMkn3D/FviZgJanOeBHl+bDfjaeBHbOB5iUSWPb0oHOV7gaXszyVXUEnHsyHjsxIRQPEIF5Dw==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:exHI4GkZb+CcG08rKNQI9m29BRbe8kCxaKmanxXJzmhBJPYacFX20WHknYE4mbIjXGFaH0G8k9+rEHlQBfUeBw==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:xI2jGW7VMLh1TmruqSaZdDBb9K90RROEOVBJgpKyjqK0QrR/Z9ppHZAacUy5eSfU/btLR0oLpfKwx2BTT0RvDg==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:yE8a4nIpC2OOWEStdTtHzokLXEWgmZSWTgVB5TKICRtSMu56ze/jtsUXXeEXsSo5iPS5sj5xqwc3+mQeSxomCQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:uOZWcQFHkTPywqEpXLlUFuV97cakGJwiWkjU1N82m5oio7HMtXS7uT/s8gzhJ/GKdg/89K8ketYVNV822m/cDQ==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:bjFjYUhsJgI7nfq1qVziwOjkEFWW+5DL7n4VUmLwlaMzFXX7exMYVXVABj0/JHlat1GIw4FCJMf76XKruI4/Dw==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:YYL0mXux3UDDt7eYil0gVXOApbTG3HClf9R4zLcxCUcHyyqc5bHtR0mqbQVeymNHoj+/u1PBiv6H5hYzgTuACQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:oiGDFqrtyLWN0vhKzYS/4JQBxaA8RVqW/pNGX0bLeH0uBQyozd+G/ZsJkDs9hnm6TUP0ELDZoTPuMng+X7mUDg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:hLHaxilLdRyhrYEqMTcqL+8yZq3mP5FkakW4Rcm+ss7kIay+rwVEF2K2qSmgEmyF+DRSko+wFt5umeJhRt3lAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:7TFIdvCJIht+p5G0BPG6o7A8vAEBPOvFNpIXTO+flZycSS4uDbis1ZSbLZSxdNHWPJNFHBsw+nY7c4K4mDwjCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:4A3FvSr/luM6OEDF6zK3BsPr5tdIllWkZuYqEOiPruw5zxYOz8XoF3xOgSiPonsz2pscxCy8S97L2D6DVKlpAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:NcBypwasrVfpasLYp4gBqGK2RU9ioNzpOVB9nXxr+nzCJbLGYmnVxBJ/2YtKpCMuin3Rd8xFPIwfonmvdRDYCQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:xo9KvCXl1YgGd/p2Pos48NyMmHg6WHXt2iqKEOY9eVjh0hBuUW/m/549fIy3sfN0dBN/oGh2H/Gb9yM5QutDDQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:fRy5UMVXFdaTMhLSrNPjkusWRu5j9stGY+q7lMqfEEWVjK3DBO4Ykby8Qfm/Yl7XWxGURrxhfVWdq/U1eTCzCA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:wbaWfrI2xcIQdb8l1F4J25relfk0xhZV217wtRgAic595l3xatTEH6P8N7ggFSSxr8VnX9VX9yiViG3yiMISCg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:evnsy8jLJhkj8/7ToJMe62ZYDOjV9cqu+i6yhSMrhXHH9TiDO48Ty2URhx4dMCBxrrNXU8UhAHvWS1itc9f2DA==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:KJ5MPA101oxwfwi1yQpBDP2lSS5topuU1h6PYC6CzLScY5S0KlUpztzCevnNC3PI1pJJ1dmtCZHBM42DEJuXCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:wSmrQSPzUU5tKVQupqOVxIb6Yvi0JQi9eX+klNO9Ka6vLQrJ8xCNQlx1sEJLa+5jjEa3+KCk6ktg6X9WaSS3Ag==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:vYEllVo7ZVKfzoAsKXCVxCiCr8FcI7u22q57RIjCW90Cauq5/M+Er2SvtuM5uRVSHrvZ+DhBtTboIllMxGsiCw==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:ZRmisK1tVel8nDYEHHWT1X6D7yb353qfeIlcz1rVzpzlhPkuiQv0Cve3ADWE2HZKwmYenWMsVHVd2jhR6lUDAA==" value=local-opening -bound-lock/1 by=device epoch=2 form=alphabet id=def-B measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=B sig="ed25519:sample:81P8XEhv/0d2swoNWzXdryLglyIXKkhQGab+z9wy3hMKpQ+ZXE84trbdr128wVbqKrmWzrfRI04/VUH/50ymCQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=2 form=alphabet id=def-C measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=B scope=C sig="ed25519:sample:pvshfu9B6PIcASb1eZ7deBlx1rod/MQutiZm6p9PNRX5ArZcZlfWHosvUKY3pznlaqF1KhUIjS0S088WKNuvDQ==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=2 form=alphabet id=def-G measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=C scope=G sig="ed25519:sample:ipebuAk/E0iI92hXpSoWvyHdgnIAKGjOnXKroHvZb1EB6R9q6U5iuhWjPNF5FkCDl+KO/slhtRUtqyU6lLBJAg==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=2 form=alphabet id=def-D measure=artifact params="{\"tokens\":[\"lock\",\"readme\",\"source\"]}" restsOn=none scope=D sig="ed25519:sample:1eKTYuOOr7TOL97olsTSKR348qPtzbHz3rlnjuJbFOEztJLOA+mjJSmQfqG4neE80UM7Q77lhTzRTqIGrn+WCw==" topos=sha256:f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:LBF1AmniKCyZM2o+Q+rX7QzwvL9/DfJVvQUiQSj+gbbZ8zb+1oMmMgjfEXrV9uguxdWwbDVx86isWGzxurazDw==" sign=+1 type=mark value=lock|readme -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:H79o4telnuw8lWB86saqXhuDAfhhHcwIRvmhMkx4tKC/rCuN530pqTBF+U96UVhO6/ZjqpNgNi+QdLQYSI2oBA==" sign=+1 type=mark value=lock|readme|source widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:sB7ah2xtyiqiOpMwIc+ybtl9o2G+Ll5K8DSNJu3OY+cOWWTi+4X/g/PMAQWAxMUcbo8sp1LHhD98pSAGn8N9Ag==" sign=+1 type=mark value=lock -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:c/GoQ2CXsA6rFZQcbravEUCxg1cCZ4ex3Tny1l3h8/wCHYXECcCpj6Z0GJY0FaZd9gRLRfOMQs97CIqgGTHIDg==" sign=+1 type=claim value=lock|readme -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:K8Uj3o729531ncJyscBp5pSX/sf+p69wQe2f7RxWuE7mLTi5oDBrSjK/Or/dlEPUjCert26uy5xMOJ0wRWUbDw==" sign=+1 type=claim value=lock diff --git a/samples/artifacts/receipts.bound b/samples/artifacts/receipts.bound deleted file mode 100644 index b788ea4..0000000 --- a/samples/artifacts/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:86e41dc49e3c7f78633751b51819eeec651c2ba287ecfa235b521fae592b5d44 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:e736bb6d404c0ed31af8e27b162990df0de6fc022cfa3cbcd267f9641380b204 -bound-lock/1 at=place:sha256:07cbdda3673be18b638348a97f4e77798eec1a574c331fae5c4b6945a7e2c9c4 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:0fed764bdd45c1d568dad83b0067f882f54f24099b42baf52830ee57312f8436 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 -bound-lock/1 at=place:sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:12d50a2eb3d6bd85fd907758ac323f5d926dc42d51aec5d4271cec7a33060711 -bound-lock/1 at=place:sha256:1cd96a4a0f9d9c7e74a48dbf08bb9f517a1deb52ed76235f2177e756bef17273 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:4cedf0ebf83d8b58bf36f019a79ee9ff87f7b1f2b340c97c7b54dce9b1a5960d -bound-lock/1 at=place:sha256:79e2028d8782d004bd13f0d5072641259db4d5837fb5027be206a14764530ec0 by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:a3439b9b75e38752d2398c3aac379c44b2c56e3b51e33260ac3b84c67effbeb8 -bound-lock/1 at=place:sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:aea6f578936340a53d9f2cbdb64e842b5bbaf35ae566dd0b5524328611d6411c diff --git a/samples/historical-document-views-1/CITATION.cff b/samples/historical-document-views-1/CITATION.cff deleted file mode 100644 index 3037232..0000000 --- a/samples/historical-document-views-1/CITATION.cff +++ /dev/null @@ -1,6 +0,0 @@ -cff-version: 1.2.0 -message: "Cite specimen-register." -type: software -title: "specimen-register" -version: "1.4.2" -license: "MIT" diff --git a/samples/historical-document-views-1/README.md b/samples/historical-document-views-1/README.md deleted file mode 100644 index b6175eb..0000000 --- a/samples/historical-document-views-1/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# specimen-register - - - -A declared place for specimen-register. - -## Reading specimen-register - -Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-1/TARGET.bound b/samples/historical-document-views-1/TARGET.bound deleted file mode 100644 index 8bf6665..0000000 --- a/samples/historical-document-views-1/TARGET.bound +++ /dev/null @@ -1,61 +0,0 @@ -bound-lock/1 about="# Observations\n\nA field note belongs to its place.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md value=lock -bound-lock/1 about="A declared place for specimen-register." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock -bound-lock/1 about="An item assigned a local identifier." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=specimen -bound-lock/1 about="Assign a local identifier." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock -bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock -bound-lock/1 about="Keep independent readings of specimen-register visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock -bound-lock/1 about="Prepare the register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock -bound-lock/1 about="Reading specimen-register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock -bound-lock/1 about="Record the observed properties." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock -bound-lock/1 about="name: field-work\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml value=lock -bound-lock/1 about="{\"name\":\"field-notes\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json value=lock -bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==" value="MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=" -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json value=true -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=src/**/*.ts|types/**/*.ts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=true -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2022 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=specimen-register -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=1.4.2 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 role=writes scope=dep/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 value=sha256:11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd diff --git a/samples/historical-document-views-1/docs/guide.md b/samples/historical-document-views-1/docs/guide.md deleted file mode 100644 index 1acad43..0000000 --- a/samples/historical-document-views-1/docs/guide.md +++ /dev/null @@ -1,4 +0,0 @@ -## Prepare the register - -1. Assign a local identifier. -2. Record the observed properties. diff --git a/samples/historical-document-views-1/docs/reference.md b/samples/historical-document-views-1/docs/reference.md deleted file mode 100644 index d926068..0000000 --- a/samples/historical-document-views-1/docs/reference.md +++ /dev/null @@ -1,11 +0,0 @@ -**specimen** — An item assigned a local identifier. - -| | | -|---|---| -| pin | historical | - -- [README](../README.md) -- [guide](guide.md) -- [reference](reference.md) -- [why](why.md) -- [notes](../notes.md) diff --git a/samples/historical-document-views-1/docs/why.md b/samples/historical-document-views-1/docs/why.md deleted file mode 100644 index bb5a43a..0000000 --- a/samples/historical-document-views-1/docs/why.md +++ /dev/null @@ -1,3 +0,0 @@ -## Reading specimen-register - -Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 b/samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 deleted file mode 100644 index 79ea277..0000000 --- a/samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd deleted file mode 100644 index 361b3c4..0000000 --- a/samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 deleted file mode 100644 index 2d5e7ba4e9a10ac53af068c9419c2db0ad7da495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE diff --git a/samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 deleted file mode 100644 index 829296b8b941f46a529f8c4f18a2571347537b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm diff --git a/samples/historical-document-views-1/manifest.json b/samples/historical-document-views-1/manifest.json deleted file mode 100644 index 147c62d..0000000 --- a/samples/historical-document-views-1/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"field-notes"} diff --git a/samples/historical-document-views-1/notes.md b/samples/historical-document-views-1/notes.md deleted file mode 100644 index 1dccd22..0000000 --- a/samples/historical-document-views-1/notes.md +++ /dev/null @@ -1,3 +0,0 @@ -# Observations - -A field note belongs to its place. diff --git a/samples/historical-document-views-1/process.yml b/samples/historical-document-views-1/process.yml deleted file mode 100644 index 3826911..0000000 --- a/samples/historical-document-views-1/process.yml +++ /dev/null @@ -1,2 +0,0 @@ -name: field-work -on: push diff --git a/samples/historical-document-views-1/receipts.bound b/samples/historical-document-views-1/receipts.bound deleted file mode 100644 index e69de29..0000000 diff --git a/samples/historical-document-views-1/tsconfig.json b/samples/historical-document-views-1/tsconfig.json deleted file mode 100644 index 9af1a8f..0000000 --- a/samples/historical-document-views-1/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "strict": true, - "target": "ES2022" - }, - "include": [ - "src/**/*.ts", - "types/**/*.ts" - ] -} diff --git a/samples/historical-document-views-2/CITATION.cff b/samples/historical-document-views-2/CITATION.cff deleted file mode 100644 index 3037232..0000000 --- a/samples/historical-document-views-2/CITATION.cff +++ /dev/null @@ -1,6 +0,0 @@ -cff-version: 1.2.0 -message: "Cite specimen-register." -type: software -title: "specimen-register" -version: "1.4.2" -license: "MIT" diff --git a/samples/historical-document-views-2/README.md b/samples/historical-document-views-2/README.md deleted file mode 100644 index b6175eb..0000000 --- a/samples/historical-document-views-2/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# specimen-register - - - -A declared place for specimen-register. - -## Reading specimen-register - -Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-2/TARGET.bound b/samples/historical-document-views-2/TARGET.bound deleted file mode 100644 index 68dd973..0000000 --- a/samples/historical-document-views-2/TARGET.bound +++ /dev/null @@ -1,63 +0,0 @@ -bound-lock/1 about="# Observations\n\nA field note belongs to its place.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md value=lock -bound-lock/1 about="A declared place for specimen-register." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock -bound-lock/1 about="An item assigned a local identifier." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=specimen -bound-lock/1 about="Assign a local identifier." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock -bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock -bound-lock/1 about="Keep independent readings of specimen-register visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock -bound-lock/1 about="Prepare the register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock -bound-lock/1 about="Reading specimen-register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock -bound-lock/1 about="Record the observed properties." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock -bound-lock/1 about="name: field-work\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml value=lock -bound-lock/1 about="{\"name\":\"field-notes\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json value=lock -bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==" value="MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=" -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json value=true -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=src/**/*.ts|types/**/*.ts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=true -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2022 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=specimen-register -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=1.4.2 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 role=writes scope=dep/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 value=sha256:11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd role=writes scope=dep/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd value=sha256:963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd diff --git a/samples/historical-document-views-2/docs/guide.md b/samples/historical-document-views-2/docs/guide.md deleted file mode 100644 index 1acad43..0000000 --- a/samples/historical-document-views-2/docs/guide.md +++ /dev/null @@ -1,4 +0,0 @@ -## Prepare the register - -1. Assign a local identifier. -2. Record the observed properties. diff --git a/samples/historical-document-views-2/docs/reference.md b/samples/historical-document-views-2/docs/reference.md deleted file mode 100644 index 0a08e2b..0000000 --- a/samples/historical-document-views-2/docs/reference.md +++ /dev/null @@ -1,11 +0,0 @@ -**specimen** — An item assigned a local identifier. - -| | | -|---|---| -| pin | historical | - -- [why](why.md) -- [guide](guide.md) -- [README](../README.md) -- [reference](reference.md) -- [notes](../notes.md) diff --git a/samples/historical-document-views-2/docs/why.md b/samples/historical-document-views-2/docs/why.md deleted file mode 100644 index bb5a43a..0000000 --- a/samples/historical-document-views-2/docs/why.md +++ /dev/null @@ -1,3 +0,0 @@ -## Reading specimen-register - -Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 b/samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 deleted file mode 100644 index 79ea277..0000000 --- a/samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd deleted file mode 100644 index 361b3c4..0000000 --- a/samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 deleted file mode 100644 index 2d5e7ba4e9a10ac53af068c9419c2db0ad7da495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE diff --git a/samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 deleted file mode 100644 index 829296b8b941f46a529f8c4f18a2571347537b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm diff --git a/samples/historical-document-views-2/manifest.json b/samples/historical-document-views-2/manifest.json deleted file mode 100644 index 147c62d..0000000 --- a/samples/historical-document-views-2/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"field-notes"} diff --git a/samples/historical-document-views-2/notes.md b/samples/historical-document-views-2/notes.md deleted file mode 100644 index 1dccd22..0000000 --- a/samples/historical-document-views-2/notes.md +++ /dev/null @@ -1,3 +0,0 @@ -# Observations - -A field note belongs to its place. diff --git a/samples/historical-document-views-2/process.yml b/samples/historical-document-views-2/process.yml deleted file mode 100644 index 3826911..0000000 --- a/samples/historical-document-views-2/process.yml +++ /dev/null @@ -1,2 +0,0 @@ -name: field-work -on: push diff --git a/samples/historical-document-views-2/receipts.bound b/samples/historical-document-views-2/receipts.bound deleted file mode 100644 index e69de29..0000000 diff --git a/samples/historical-document-views-2/tsconfig.json b/samples/historical-document-views-2/tsconfig.json deleted file mode 100644 index 9af1a8f..0000000 --- a/samples/historical-document-views-2/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "strict": true, - "target": "ES2022" - }, - "include": [ - "src/**/*.ts", - "types/**/*.ts" - ] -} diff --git a/samples/historical-document-views-3/CITATION.cff b/samples/historical-document-views-3/CITATION.cff deleted file mode 100644 index 3037232..0000000 --- a/samples/historical-document-views-3/CITATION.cff +++ /dev/null @@ -1,6 +0,0 @@ -cff-version: 1.2.0 -message: "Cite specimen-register." -type: software -title: "specimen-register" -version: "1.4.2" -license: "MIT" diff --git a/samples/historical-document-views-3/README.md b/samples/historical-document-views-3/README.md deleted file mode 100644 index b6175eb..0000000 --- a/samples/historical-document-views-3/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# specimen-register - - - -A declared place for specimen-register. - -## Reading specimen-register - -Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-3/TARGET.bound b/samples/historical-document-views-3/TARGET.bound deleted file mode 100644 index 13cd8a5..0000000 --- a/samples/historical-document-views-3/TARGET.bound +++ /dev/null @@ -1,67 +0,0 @@ -bound-lock/1 about="# Observations\n\nA field note belongs to its place.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md value=lock -bound-lock/1 about="A declared place for specimen-register." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock -bound-lock/1 about="An item assigned a local identifier." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=specimen -bound-lock/1 about="Another reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt value=lock -bound-lock/1 about="Assign a local identifier." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock -bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock -bound-lock/1 about="Keep independent readings of specimen-register visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock -bound-lock/1 about="One reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt value=lock -bound-lock/1 about="Prepare the register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock -bound-lock/1 about="Reading specimen-register" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock -bound-lock/1 about="Record the observed properties." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock -bound-lock/1 about="name: field-work\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml value=lock -bound-lock/1 about="{\"name\":\"field-notes\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json value=lock -bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==" value="MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=" -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json value=true -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=src/**/*.ts|types/**/*.ts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=true -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2022 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=specimen-register -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=1.4.2 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 role=writes scope=dep/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 value=sha256:11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd role=writes scope=dep/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd value=sha256:963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 role=writes scope=dep/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 value=sha256:f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 diff --git a/samples/historical-document-views-3/docs/guide.md b/samples/historical-document-views-3/docs/guide.md deleted file mode 100644 index 1acad43..0000000 --- a/samples/historical-document-views-3/docs/guide.md +++ /dev/null @@ -1,4 +0,0 @@ -## Prepare the register - -1. Assign a local identifier. -2. Record the observed properties. diff --git a/samples/historical-document-views-3/docs/reference.md b/samples/historical-document-views-3/docs/reference.md deleted file mode 100644 index 0a08e2b..0000000 --- a/samples/historical-document-views-3/docs/reference.md +++ /dev/null @@ -1,11 +0,0 @@ -**specimen** — An item assigned a local identifier. - -| | | -|---|---| -| pin | historical | - -- [why](why.md) -- [guide](guide.md) -- [README](../README.md) -- [reference](reference.md) -- [notes](../notes.md) diff --git a/samples/historical-document-views-3/docs/why.md b/samples/historical-document-views-3/docs/why.md deleted file mode 100644 index bb5a43a..0000000 --- a/samples/historical-document-views-3/docs/why.md +++ /dev/null @@ -1,3 +0,0 @@ -## Reading specimen-register - -Keep independent readings of specimen-register visible. diff --git a/samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 b/samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 deleted file mode 100644 index 79ea277..0000000 --- a/samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd deleted file mode 100644 index 361b3c4..0000000 --- a/samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 deleted file mode 100644 index 2d5e7ba4e9a10ac53af068c9419c2db0ad7da495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE diff --git a/samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 b/samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 deleted file mode 100644 index c305ace..0000000 --- a/samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/declaration shape=tsconfig.json sig=\"ed25519:sample:HhXZ4XGUUWYR0nKr9QkDszcQF6YGZYwW3uzAdcP460I6DAvhx+mntR3Ns/heqpRUwQj5b9qunNgDxaWsQ+O4AA==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:Fg5awMTIOQLPDeIWpM328jerEkqJMqn2cdC59zKbbz+xQADBXFYPi4EajTYRixyWr22KHAVh+djVUVRv7kX0Bw==\" value=src/**/*.ts|types/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:16pL9g1kLqeOHrsdUpcvinq6ZCEfUtk7nd2r28RWN7Gh6SnylVTzHDhZ4lyDnr+hV2M4OAMxZOPmN2s3qoiOCQ==\" value=true\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:g+NQy2hwyq5q502DKffAQz3bl/LrQYzXRvEbwVS4mjZereR6DLlXju+Tc/xZRrpZLeo6sWmqTziqmizAUJGgBA==\" value=ES2022\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:JlZExgzmekbch3uFO6V1j3GpOjwqpB7CR4OJVYQTLR05TwK1Au6N/lutFRrY5gCEnxH6u312eA/SMMHeN1+0CA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:G23kSbFQm5y+oLqcuS9I7/fo0dQn51UlBrawMU9ODCQbzcCKnElVdHz9MrzVX3ZwhPL7xH+0PcHDEp27IZs4Ag==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:ODzr9I0hQODArgHEIogvzxXILAjIidog8SJGq2rZW80gdMxwg/UpQrml70PX4fWHGh4MusnVsASpJDBxbT+ABw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for specimen-register.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:L5yf5SDCNC8T8oze5telkWls0EmEgazk1PvinlM6nfoY4A/szjh64YA7RqPiLMYPKK3ylVmltXUaBK2x6O3dCg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:qsqEZvVQoaLWvOgfjmoS3QbD0FCfwYtYjDPHJiOD3Oun1J4ATBpiyx2pEt2aX7vLVkVMaK98A2oS19D/7jqvAA==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:1nzNWJZWFEwPTPazIgTL90Vz3kbE1jARhdouDNnu0DVN6olTK57JWFrFjg5sR7+33OXyds6ETMjllR5bTT2xAg==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:Es8R9gnEuqoiOz4JuB0ePnC1kqmDTrE8OCpiNH3WRV0ww9gJmJ4hDHnLNWNwi+E+YcibBhhNf99J0VvlvYYqBw==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:X8MdsQKvAEBdvdnvwRTRc86gqaJ6guhxoNgIUa7/NxS/xILdUGYPe1tMDun2eD/+pCFagxbaHajECsLEOk27Bg==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:O1opEhNk9nujriTqN4Tdb/HkVoF3STA2m537g0ErnMXAXyXHu196EvwkZX9DRXo03g7tUnDnMRt3DBVz2YIODg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Rwsom44iGtYkTjSmmM28vBksaaihQLFh6PVafu/5ZLTwvylVsfkQXKGNGYARbnSmZmax+hL4QPHF3ameegeACg==\" value=\"MCowBQYDK2VwAyEAQAHTh9HuwwtQZT/1F4D5yoefiwLy9YCcNn926ecSwJQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:CHyMBKkO3194sJiRFQuMlguwErv6AcNWurInHIghF/a2uPMoY7SOLZ3/OB0wvXPPCRCu7HqiwFDf8URn9DLaAQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:ju1gAlpI7ZxUVG4f171k+nss2w2gyErBychcmkY7gZ4SB/BWPidCt8tTBEsHB+58rhMY4k8D1PWh0r9Cq8t3DQ==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:E+B6Ph5wf/38qksA0iERWdLvcsmQb3bZzwzG7oF898V2Ylnny4Uy1nLH9unn3MQZPiIJb/BLgHCTbt20fbz0BA==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:3I5Z8b00FEKrnywPa+4kP7mOhmHSQMIFftEUbTyR56qFUsBjHp0R9z7VgXZlFHvx3KAkfDNeSzjQi7HZ4hwgCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:JhISEc2ML/mN4GJcJUZzZt9npTL02QjEGz+ouqwHqFrV0oFc6k4NcaJAiUdcoEK7x5mPsZb2iK7zW/V0N2G/Bg==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:dMGpcFgVvTd/DV9BdpUsb/Wrh+otAoev5l3lVX3hQShp+r9Z1ZKX7rfsIoMo4bP12oZaqpXN2B+6nAOPyQ+dCQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:eEfhsfAlU+y2xSSJm5u4OKfgwdQhk/61Il5asm7ntX/8BDibFC9J/aqprtZHKwnI0p6QrWdKgcfSOAIE5Y0fCg==\" value=specimen-register\nbound-lock/1 about=\"Prepare the register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:f1Iqm+hWsN0STGacyLHuONzeIobPiUxOSgFai61/NPV0+EiSV5/e97fcav1/Un1hPN2nelfpEvVySUeiq5jmBg==\" value=lock\nbound-lock/1 about=\"Assign a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:3PSe8ggJJ3mBuG4U//I5+7Cs3jAj3OMoAn2dnVgP4liN7KOBxFyByntbrzEZYUyzNyoUXXZkj1LhIh0L3YdqDg==\" value=lock\nbound-lock/1 about=\"Record the observed properties.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:cAkW/cNVXj8ij2xwBUyUQpsV4oBMIw2QvzEOiKzicqphDU15vlS2gM3HqcNrhm403u/SDgu076LHMgrww2DXDQ==\" value=lock\nbound-lock/1 about=\"One reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt sig=\"ed25519:sample:yG4ATTjmINhAPuXkVOMkz1iXwSBkrvBBzBK7tMeqW6Ilq3rC/oZwfWH8eVv4+Uvnyv7N/t8IULIdWdo8aTnuAA==\" value=lock\nbound-lock/1 about=\"Another reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt sig=\"ed25519:sample:BfXlF0B6rKlDAm4PxIBaTlF5s4VWU7uDQ2d7Bvy0Qz77COM3jhHAiJ53dLmFUCdTuBO4Umtmz/ORkSJhNxXrDQ==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:91AGHafiI7Og4hY0qG4uIgL+yuAPnKken15EPkZoU1bzAC8eOXX7uAeKl08tGdfGdssMErkEox0GfIosfdnODA==\" value=lock\nbound-lock/1 about=\"Keep independent readings of specimen-register visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:1z8GIKbWRB0ZrpFeV67V4Q82K4rRooxzgvHvRQU8HO6GkPaTArMCMxW35cUejdczhDeYaCqUgx0YjL+/TZz4Bw==\" value=lock\nbound-lock/1 about=\"Reading specimen-register\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:+XXLHXDRxpEo9C1WUqhpd7+k4QHHfome7WVuW0VZVipqWLhXbeTX8x9X+7EzSyA/rmMKdXcCvVsCOqfKn/CICw==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"field-notes\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=manifest.json sig=\"ed25519:sample:1n11A1Wx29q5e8BzG+ItA1NBWqM5ct7ouH9R7Y/iJHhf6ShCSrpw4RVCdIymCv3A71F0JboJYrjuqaxEv62YAA==\" value=lock\nbound-lock/1 about=\"name: field-work\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=process.yml sig=\"ed25519:sample:ekxwHM384ciiQe26zpyGzLHP59MkGXiGwf5DNBgVFjA60q8WaGSiBaC860GPsE+Fvt1DFVlIyPLGKAQT+prICQ==\" value=lock\nbound-lock/1 about=\"# Observations\\n\\nA field note belongs to its place.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=notes.md sig=\"ed25519:sample:06r+IjbFO9c8ZK79iFNNxLn5O6c6EvcufLX98tq+BvAfeoIlch0Z20e+ifNl2ObYsd3ufNMYSwfOzfMx48bCAQ==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:kHxt1rUbIXyuzBaxN0FFI1B0aGXHbl7rOVSPDo9g+J6Yn8KNT0ec2ZIEm0xXMvEQoOb8Nj3P/Hrlf+G9N4ncCg==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:K0vWe1VLGZ7VwbT1RwZ/x258V7Vuprw4DVMQMR8j7Ry0e/IvEHsCMop5DWIBNX/Sk5jqHfrQHsfRduIAKIeZAw==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:kZ46rCZEp08W5DB86zThB0HhZO5FWRKtcF0rid1AnPXPzq633041RtzSToytMLwrPq7JjOczBJr26MXFwMP9Dw==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:kRru/mCDpbt/Pi2/wtfZk9RUmELEJQXNev3fKzcEo6Bm6jBQQihxueqi0007c2cQxkOfcb0cQ+YGkKIqLow2Cw==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:19RMIB5jGjHrYOnmOQWkO6+gf+f2vdtWC3+5s7Ld8cO9jRk+HTCE9yl6vjRxg3iVZF9nv53y9Lc52kn9Z/01Cw==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:c2jl3uoMLLdZYMUCVcdhrF4ApVaNQWWntzcObDDtEu+8s9caoLZUFFbGScLNveV3V5JhWhD58CO/H6wf3UK4BA==\" value=5000..5000\nbound-lock/1 about=\"An item assigned a local identifier.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:oodPiSW81qPpeIyD1ven/tXpEWp5DQZI5O8vGbFzweMgnPtgd0x2nsbgxvyaO7kKqR5pndohzhYL/zoQYDiuDQ==\" value=specimen\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OfzYhKz5+VVYtEIlzkfcMxEaARRBtyzLqFHSQhZKhEzdv04R1hjNVzpMt8lzkfqxnWyyBJ8qvU7WNTqu1zD8DA==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:s25VBzfVNZtLt8AjuqQWlJ5xT8FV9rPWjxjnZERKduqYVQ9+JzUJphFryZXFzTzgRmjGn/D4qC8OnaQyeRuVDQ==\" value=1.4.2\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:CpoDeVnAX3xGRO+rCMofDksc5rbjfNoW2fTnkTQjcFXom4OjkiC5iRkcOcO8OfLtCOlMCrXnVD9hLsQGO/+mCQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=3 form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt sig=\"ed25519:sample:1l+/t7jSD9QnOt4Alu0QPzfYpbiqZxYVCBq7pRQuS7W/rdmwxfwi4Kdwqbf6Ln+Oo1SHiZdtlCofdltlnRpcBg==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:fLvQ+H4WnJ7pMBx6FTwYI4NF7hNq/hPkUHbD4ybS/49Wg6Ro4QdgjK1w2idEXzFeTIR6+KQCMZirLtEjWHNGBQ==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:pRQ5EvvULWfqMxpTWg41gQN/0nT0Wx1HjeR5X8G5hNH/kZ+h7fp0xhViDmIR++wkl3nbkOl5IAPfGCB33mqOBw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=manifest.json role=demands scope=view/manifest-render shape=manifest.json sig=\"ed25519:sample:XL4MFDNg7UMFJWxBsn/lLQxHJF5sEsST05Yf4HkBw/rvkp+JZp+eDV+rSzJQ30ixmH+0csnBxzfmMxghBK27Dw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:fl7jOMHwGojyhy6FmEcd2lE/KfO2nU8zunyDlFusGNDb2bkz2bL7GPv26XmT9GR9fYckNseeRifxtQn0Y4ozCA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:x9X9ce6IS2aUSBvxbbJu5vIJHgjEzSvkJEG1XxaYXCVZopZLfJgglb4fx642tjE+veyKaduEkGpIogYK/LAlBw==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=process.yml role=demands scope=view/release-workflow-render shape=process.yml sig=\"ed25519:sample:ObWbSNVqAbubnvJdRMO2r91lRMB0qT4h0pS6wydp1OaxRUSxy17S6fFpJfHv04Cy/K8D5ft1/nvIfOFgmtLuCA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:sPCITfSv0/FgncAQjdBxYaJrFU+T3ecwQ2sUmpZa2wHoqLhdlf3XUn6bpXUY7oiEPsx13cZG3kWMjBfLjzs4AQ==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:uKHHTAyQw31du974ylaBT2eQfd5g4r/hV9yfUB2O/1w5IUlFdWAl3bznoqVS9gz1nlNqY3g2YeYf+/P0N5vuBw==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=notes.md role=demands scope=view/usage-profile shape=notes.md sig=\"ed25519:sample:cX3s7h9gRO5+6vhI8ulV3R8BtsZyVbeFMVI8RyFz1PP46FQ0fWwaZkjhJCMFPqoCkmTjubdC2531EL8RnuPECQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:KD5gavdkgXRDpT4cEWVnt0dSlc27u+sV9QxGj6Jbs2TnTyAc9rnt/n1AtlKy2XALqf7rha9FeBNIyrJeydpuBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:YQMGUfiT5cvpJsFyBzjB48CS354SL3oZfBzEH92POIPy7BU498qGdI4vIOUEPsqfmKQUk7lXu00C1fxD0f2CCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:h/P8S3UYzUqbBhl5rdYtTvDNhVJ3VgT1wZa8w++MO7i3viSY/AtFEV6/Lo8tMjB8ILVogcBemA6awFcYT9i7DA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:TttBP5Y7/M1VIIeU+Vx5U6tgIqCjxD8bwfny0gQjT8LXMkfcNOUjEfLEsjDDEf+wZTwpRGYcJzWlFwQxCrmQDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DNam3tFFYIr+pcFgDCGqVQNpLi4N/n1joUb4FaKtaaKVCkweQz4lBR30u6av7g+N+8arlTWkZthq01LFeUKlAQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:0RvRDwlAeyfxI0TvfSP+zDNsKWASm9wb22Z9vNf+H7IcYHnsOg77+r2bUAo1dwwYL+0lq/MSWp0zSPIJYbfWBA==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:wrToPhGJYZSzuVO1hnjuzxUCDZpteXYwN2bvKtkd+GFZOSCaPYcSXm4zQdG8UZ8vcrtpUkZdlIgBYqepT/i9Cg==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:n9rUHsyNxhnMAnxKNn0TtB/12RhLS1w481ERtI6oWaISVp81ohjdvGyJOk2Sbz5rb2IUYcZv1obfjilK47lyBQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:oAvNckm5EcH7FekXIEiqXFPwSNJLVo4MDsEhw0IhZCP3HZN0JCjEOKytxKHwOJ+ONax2TXQiyZ7xeslcuZRPCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YjXiyDThlYyXDbpHVKR8hkr9Jf86wQRQhl+1XmKgdNK0Nm8I0OJM0pAsq1pEzJJfjeA/DG0gBdJhaTHOh+edAw==\" value=ed25519:sample\n","standing":62,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 deleted file mode 100644 index 829296b8b941f46a529f8c4f18a2571347537b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm diff --git a/samples/historical-document-views-3/manifest.json b/samples/historical-document-views-3/manifest.json deleted file mode 100644 index 147c62d..0000000 --- a/samples/historical-document-views-3/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"field-notes"} diff --git a/samples/historical-document-views-3/notes.md b/samples/historical-document-views-3/notes.md deleted file mode 100644 index 1dccd22..0000000 --- a/samples/historical-document-views-3/notes.md +++ /dev/null @@ -1,3 +0,0 @@ -# Observations - -A field note belongs to its place. diff --git a/samples/historical-document-views-3/process.yml b/samples/historical-document-views-3/process.yml deleted file mode 100644 index 3826911..0000000 --- a/samples/historical-document-views-3/process.yml +++ /dev/null @@ -1,2 +0,0 @@ -name: field-work -on: push diff --git a/samples/historical-document-views-3/receipts.bound b/samples/historical-document-views-3/receipts.bound deleted file mode 100644 index e69de29..0000000 diff --git a/samples/historical-document-views-3/tsconfig.json b/samples/historical-document-views-3/tsconfig.json deleted file mode 100644 index 9af1a8f..0000000 --- a/samples/historical-document-views-3/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "strict": true, - "target": "ES2022" - }, - "include": [ - "src/**/*.ts", - "types/**/*.ts" - ] -} diff --git a/samples/historical-document-views-4/CITATION.cff b/samples/historical-document-views-4/CITATION.cff deleted file mode 100644 index cf66851..0000000 --- a/samples/historical-document-views-4/CITATION.cff +++ /dev/null @@ -1,6 +0,0 @@ -cff-version: 1.2.0 -message: "Cite route-notes." -type: software -title: "route-notes" -version: "3.2.1" -license: "MIT" diff --git a/samples/historical-document-views-4/README.md b/samples/historical-document-views-4/README.md deleted file mode 100644 index f8ac2ce..0000000 --- a/samples/historical-document-views-4/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# route-notes - - - -A declared place for route-notes. - -## Reading route-notes - -Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-4/TARGET.bound b/samples/historical-document-views-4/TARGET.bound deleted file mode 100644 index c2127f5..0000000 --- a/samples/historical-document-views-4/TARGET.bound +++ /dev/null @@ -1,61 +0,0 @@ -bound-lock/1 about="# Collection\n\nAn item keeps its provenance.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md value=lock -bound-lock/1 about="A declared place for route-notes." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock -bound-lock/1 about="A location named in an itinerary." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=stop -bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock -bound-lock/1 about="Keep independent readings of route-notes visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock -bound-lock/1 about="Name the intended stops." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock -bound-lock/1 about="Prepare the itinerary" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock -bound-lock/1 about="Reading route-notes" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock -bound-lock/1 about="Record each connection." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock -bound-lock/1 about="name: catalogue\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml value=lock -bound-lock/1 about="{\"name\":\"collection\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json value=lock -bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==" value="MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=" -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=lib/**/*.ts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json value=NodeNext -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=false -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2020 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=route-notes -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=3.2.1 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 role=writes scope=dep/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 value=sha256:0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd diff --git a/samples/historical-document-views-4/catalogue.json b/samples/historical-document-views-4/catalogue.json deleted file mode 100644 index 60a9299..0000000 --- a/samples/historical-document-views-4/catalogue.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"collection"} diff --git a/samples/historical-document-views-4/catalogue.md b/samples/historical-document-views-4/catalogue.md deleted file mode 100644 index 66c04ca..0000000 --- a/samples/historical-document-views-4/catalogue.md +++ /dev/null @@ -1,3 +0,0 @@ -# Collection - -An item keeps its provenance. diff --git a/samples/historical-document-views-4/catalogue.yml b/samples/historical-document-views-4/catalogue.yml deleted file mode 100644 index 9edb4fa..0000000 --- a/samples/historical-document-views-4/catalogue.yml +++ /dev/null @@ -1,2 +0,0 @@ -name: catalogue -on: push diff --git a/samples/historical-document-views-4/docs/guide.md b/samples/historical-document-views-4/docs/guide.md deleted file mode 100644 index 71be267..0000000 --- a/samples/historical-document-views-4/docs/guide.md +++ /dev/null @@ -1,4 +0,0 @@ -## Prepare the itinerary - -1. Name the intended stops. -2. Record each connection. diff --git a/samples/historical-document-views-4/docs/reference.md b/samples/historical-document-views-4/docs/reference.md deleted file mode 100644 index 38b97d7..0000000 --- a/samples/historical-document-views-4/docs/reference.md +++ /dev/null @@ -1,11 +0,0 @@ -**stop** — A location named in an itinerary. - -| | | -|---|---| -| pin | historical | - -- [README](../README.md) -- [catalogue](../catalogue.md) -- [guide](guide.md) -- [reference](reference.md) -- [why](why.md) diff --git a/samples/historical-document-views-4/docs/why.md b/samples/historical-document-views-4/docs/why.md deleted file mode 100644 index 1158fcd..0000000 --- a/samples/historical-document-views-4/docs/why.md +++ /dev/null @@ -1,3 +0,0 @@ -## Reading route-notes - -Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 b/samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 deleted file mode 100644 index 1f2fd06..0000000 --- a/samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd deleted file mode 100644 index 361b3c4..0000000 --- a/samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 deleted file mode 100644 index 2d5e7ba4e9a10ac53af068c9419c2db0ad7da495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE diff --git a/samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 deleted file mode 100644 index 829296b8b941f46a529f8c4f18a2571347537b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm diff --git a/samples/historical-document-views-4/receipts.bound b/samples/historical-document-views-4/receipts.bound deleted file mode 100644 index e69de29..0000000 diff --git a/samples/historical-document-views-4/tsconfig.json b/samples/historical-document-views-4/tsconfig.json deleted file mode 100644 index 9ee866a..0000000 --- a/samples/historical-document-views-4/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "module": "NodeNext", - "strict": false, - "target": "ES2020" - }, - "include": [ - "lib/**/*.ts" - ] -} diff --git a/samples/historical-document-views-5/CITATION.cff b/samples/historical-document-views-5/CITATION.cff deleted file mode 100644 index cf66851..0000000 --- a/samples/historical-document-views-5/CITATION.cff +++ /dev/null @@ -1,6 +0,0 @@ -cff-version: 1.2.0 -message: "Cite route-notes." -type: software -title: "route-notes" -version: "3.2.1" -license: "MIT" diff --git a/samples/historical-document-views-5/README.md b/samples/historical-document-views-5/README.md deleted file mode 100644 index f8ac2ce..0000000 --- a/samples/historical-document-views-5/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# route-notes - - - -A declared place for route-notes. - -## Reading route-notes - -Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-5/TARGET.bound b/samples/historical-document-views-5/TARGET.bound deleted file mode 100644 index b2f7584..0000000 --- a/samples/historical-document-views-5/TARGET.bound +++ /dev/null @@ -1,63 +0,0 @@ -bound-lock/1 about="# Collection\n\nAn item keeps its provenance.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md value=lock -bound-lock/1 about="A declared place for route-notes." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock -bound-lock/1 about="A location named in an itinerary." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=stop -bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock -bound-lock/1 about="Keep independent readings of route-notes visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock -bound-lock/1 about="Name the intended stops." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock -bound-lock/1 about="Prepare the itinerary" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock -bound-lock/1 about="Reading route-notes" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock -bound-lock/1 about="Record each connection." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock -bound-lock/1 about="name: catalogue\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml value=lock -bound-lock/1 about="{\"name\":\"collection\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json value=lock -bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==" value="MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=" -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=lib/**/*.ts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json value=NodeNext -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=false -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2020 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=route-notes -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=3.2.1 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 role=writes scope=dep/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 value=sha256:0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 role=writes scope=dep/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 value=sha256:df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 diff --git a/samples/historical-document-views-5/catalogue.json b/samples/historical-document-views-5/catalogue.json deleted file mode 100644 index 60a9299..0000000 --- a/samples/historical-document-views-5/catalogue.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"collection"} diff --git a/samples/historical-document-views-5/catalogue.md b/samples/historical-document-views-5/catalogue.md deleted file mode 100644 index 66c04ca..0000000 --- a/samples/historical-document-views-5/catalogue.md +++ /dev/null @@ -1,3 +0,0 @@ -# Collection - -An item keeps its provenance. diff --git a/samples/historical-document-views-5/catalogue.yml b/samples/historical-document-views-5/catalogue.yml deleted file mode 100644 index 9edb4fa..0000000 --- a/samples/historical-document-views-5/catalogue.yml +++ /dev/null @@ -1,2 +0,0 @@ -name: catalogue -on: push diff --git a/samples/historical-document-views-5/docs/guide.md b/samples/historical-document-views-5/docs/guide.md deleted file mode 100644 index 71be267..0000000 --- a/samples/historical-document-views-5/docs/guide.md +++ /dev/null @@ -1,4 +0,0 @@ -## Prepare the itinerary - -1. Name the intended stops. -2. Record each connection. diff --git a/samples/historical-document-views-5/docs/reference.md b/samples/historical-document-views-5/docs/reference.md deleted file mode 100644 index 33d60e7..0000000 --- a/samples/historical-document-views-5/docs/reference.md +++ /dev/null @@ -1,11 +0,0 @@ -**stop** — A location named in an itinerary. - -| | | -|---|---| -| pin | historical | - -- [why](why.md) -- [guide](guide.md) -- [README](../README.md) -- [reference](reference.md) -- [catalogue](../catalogue.md) diff --git a/samples/historical-document-views-5/docs/why.md b/samples/historical-document-views-5/docs/why.md deleted file mode 100644 index 1158fcd..0000000 --- a/samples/historical-document-views-5/docs/why.md +++ /dev/null @@ -1,3 +0,0 @@ -## Reading route-notes - -Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 b/samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 deleted file mode 100644 index 1f2fd06..0000000 --- a/samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd deleted file mode 100644 index 361b3c4..0000000 --- a/samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 deleted file mode 100644 index 2d5e7ba4e9a10ac53af068c9419c2db0ad7da495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE diff --git a/samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 b/samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 deleted file mode 100644 index 6e4f839..0000000 --- a/samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:SxCwoQDogtzG44eNLcWmDpapJWruk43f9QLdlVXT1alxYPpIFgumksToZG8vyJ05WzYKDEl02CvEJJXlRWc9CQ==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 deleted file mode 100644 index 829296b8b941f46a529f8c4f18a2571347537b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm diff --git a/samples/historical-document-views-5/receipts.bound b/samples/historical-document-views-5/receipts.bound deleted file mode 100644 index e69de29..0000000 diff --git a/samples/historical-document-views-5/tsconfig.json b/samples/historical-document-views-5/tsconfig.json deleted file mode 100644 index 9ee866a..0000000 --- a/samples/historical-document-views-5/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "module": "NodeNext", - "strict": false, - "target": "ES2020" - }, - "include": [ - "lib/**/*.ts" - ] -} diff --git a/samples/historical-document-views-6/CITATION.cff b/samples/historical-document-views-6/CITATION.cff deleted file mode 100644 index cf66851..0000000 --- a/samples/historical-document-views-6/CITATION.cff +++ /dev/null @@ -1,6 +0,0 @@ -cff-version: 1.2.0 -message: "Cite route-notes." -type: software -title: "route-notes" -version: "3.2.1" -license: "MIT" diff --git a/samples/historical-document-views-6/README.md b/samples/historical-document-views-6/README.md deleted file mode 100644 index f8ac2ce..0000000 --- a/samples/historical-document-views-6/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# route-notes - - - -A declared place for route-notes. - -## Reading route-notes - -Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-6/TARGET.bound b/samples/historical-document-views-6/TARGET.bound deleted file mode 100644 index ec30eb0..0000000 --- a/samples/historical-document-views-6/TARGET.bound +++ /dev/null @@ -1,67 +0,0 @@ -bound-lock/1 about="# Collection\n\nAn item keeps its provenance.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md value=lock -bound-lock/1 about="A declared place for route-notes." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=docs/tagline value=lock -bound-lock/1 about="A location named in an itinerary." at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=term/item value=stop -bound-lock/1 about="Another reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt value=lock -bound-lock/1 about="Cite {name}." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock -bound-lock/1 about="Keep independent readings of route-notes visible." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea value=lock -bound-lock/1 about="Name the intended stops." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-0 value=lock -bound-lock/1 about="One reading.\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt value=lock -bound-lock/1 about="Prepare the itinerary" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/heading value=lock -bound-lock/1 about="Reading route-notes" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/en/idea/heading value=lock -bound-lock/1 about="Record each connection." at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=page/seq/step-1 value=lock -bound-lock/1 about="name: catalogue\non: push\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml value=lock -bound-lock/1 about="{\"name\":\"collection\"}\n" at=policy:historical-sample by=target form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json value=lock -bound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==" value="MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=" -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=dep/build shape=index.cjs value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=dep/historical shape=index.mjs value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest needs=fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=dep/prose shape=provider.mjs value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=digest role=writes scope=uses/historical value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff value=cff@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=hero@3|commands@3|idea@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt value=text@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md value=seq@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md value=term@3|set@3|ref@3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md value=idea|what-holds|refuses -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json value=build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=demands scope=view/unoffered value=not-offered -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json value=lib/**/*.ts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json value=NodeNext -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json value=false -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json value=ES2020 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/page/statement value=3 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/prose/en/sentence value=capital|period -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=form/template/cff/name value=name -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=lang value=en -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=license value=MIT -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=name value=route-notes -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=version value=3.2.1 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves|reads|receipts -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:historical-sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:historical-sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 role=writes scope=dep/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 value=sha256:0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c role=writes scope=dep/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c value=sha256:36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd role=writes scope=dep/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 role=writes scope=dep/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 value=sha256:df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 diff --git a/samples/historical-document-views-6/catalogue.json b/samples/historical-document-views-6/catalogue.json deleted file mode 100644 index 60a9299..0000000 --- a/samples/historical-document-views-6/catalogue.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"collection"} diff --git a/samples/historical-document-views-6/catalogue.md b/samples/historical-document-views-6/catalogue.md deleted file mode 100644 index 66c04ca..0000000 --- a/samples/historical-document-views-6/catalogue.md +++ /dev/null @@ -1,3 +0,0 @@ -# Collection - -An item keeps its provenance. diff --git a/samples/historical-document-views-6/catalogue.yml b/samples/historical-document-views-6/catalogue.yml deleted file mode 100644 index 9edb4fa..0000000 --- a/samples/historical-document-views-6/catalogue.yml +++ /dev/null @@ -1,2 +0,0 @@ -name: catalogue -on: push diff --git a/samples/historical-document-views-6/docs/guide.md b/samples/historical-document-views-6/docs/guide.md deleted file mode 100644 index 71be267..0000000 --- a/samples/historical-document-views-6/docs/guide.md +++ /dev/null @@ -1,4 +0,0 @@ -## Prepare the itinerary - -1. Name the intended stops. -2. Record each connection. diff --git a/samples/historical-document-views-6/docs/reference.md b/samples/historical-document-views-6/docs/reference.md deleted file mode 100644 index 33d60e7..0000000 --- a/samples/historical-document-views-6/docs/reference.md +++ /dev/null @@ -1,11 +0,0 @@ -**stop** — A location named in an itinerary. - -| | | -|---|---| -| pin | historical | - -- [why](why.md) -- [guide](guide.md) -- [README](../README.md) -- [reference](reference.md) -- [catalogue](../catalogue.md) diff --git a/samples/historical-document-views-6/docs/why.md b/samples/historical-document-views-6/docs/why.md deleted file mode 100644 index 1158fcd..0000000 --- a/samples/historical-document-views-6/docs/why.md +++ /dev/null @@ -1,3 +0,0 @@ -## Reading route-notes - -Keep independent readings of route-notes visible. diff --git a/samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 b/samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 deleted file mode 100644 index 1f2fd06..0000000 --- a/samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c b/samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c deleted file mode 100644 index 83a9213..0000000 --- a/samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"One reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-0 shape=disagreement.txt sig=\"ed25519:sample:sLt+RfovhS0u+fpvjLh8urXfKlb2Mr55HoX/CtKD/DanPflFwfsmzw72HxuTjXJrTka1u++fMxZSTIqA64osCg==\" value=lock\nbound-lock/1 about=\"Another reading.\\n\" at=policy:historical-sample by=device epoch=3 form=alphabet measure=text role=writes scope=prose/disagreement-1 shape=disagreement.txt sig=\"ed25519:sample:BH/Al1cq3cB/mgsxon2aQVB0dgCANLoHJW2PXq8/FNkUwuoJQoRUlqOE4oep0yCa//SbDZYoqcg+4J8rRJw6Aw==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=3 form=alphabet measure=id needs=disagreement.txt role=demands scope=view/disagreement shape=disagreement.txt sig=\"ed25519:sample:EgbmgGO8rlf8h2JENQf7Aes6fbXqEKc9lTRu/gn1CSAFm4HviYM9/umF9YQbgdnmocmIM5N/7gR54ZS4xb8wAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:SxCwoQDogtzG44eNLcWmDpapJWruk43f9QLdlVXT1alxYPpIFgumksToZG8vyJ05WzYKDEl02CvEJJXlRWc9CQ==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":62,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd b/samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd deleted file mode 100644 index 361b3c4..0000000 --- a/samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 role=writes scope=offers/document value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f role=writes scope=offers/build value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f -bound-lock/1 at=policy:historical-sample form=alphabet kind=capsule measure=digest restsOn=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 role=writes scope=offers/prose value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 -bound-lock/1 at=policy:historical-sample form=alphabet measure=reads role=writes scope=region/world value=offers/** diff --git a/samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 b/samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22 deleted file mode 100644 index 2d5e7ba4e9a10ac53af068c9419c2db0ad7da495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33422 zcmV(%K;pk2iwFQYGRJBF1MI!qb{koeDAwn!<>h7h*?vyt$UO-a2#{1=rXf*mRh8OZ zXH=>hRn_zvLufGpB*`oSNHj7bl10Jq{sX`JgZ$>N@JBeV`<9s?D5<*7cv>@EL}u`s-@2^Q6`-<6&)4%}a$cm(<)GN<=@vNLmB{@4_ww(* z`=9^&-~8v_{N~$q5`FhW^j{}fp`fB|9|L6byKR&#VfB)C|@B8%X zk6Aj+R{dX(4&1u`5B7uo|M?eReEOT{>Z4-O^6x+R{(rO|&8vK#9UXk}yMs?3{qEC) zFM5an^t&(M@BYEP&%TIWeDmeAS6}_{n}2=YyGpBS)oa?WN6-G{n`dAA@xOfiZx>(x z>6cG0?tS{Z=m)6u;@`Gaa`yPWzx6o$NB#HfpZ>S*|4;WH9fs%s{-cAxpZ|Z2e>CrV zvtn}5KZw%mXj#ni$@SnoFRNmePtw_5na*L~M&s)v7^t(XicX8w{3x9*&(kqH&9k&z zud<^RoFZkkDrWd|0S8J{PKqTyoaM!$KRG>(-lns4b~H;DXYUY3A4ox&^&dXurz(SX z(u!Wl7p&EP_->L{SqXm^={$S)Hd~bd@LjsD&WqK%Rkke39B{pU2Z(2jGJ97R>(vA* zOp9FFNzV}Ky}wpp%j_?1U#0nX*%d*@o=8D`^S42>%2x9xJn=pLT@+PXVL_dtzy3H@ zP57-#8pCO}#3wBaxMqJFG*_9owBP30W&dw9VsOmP(*=}phfVjAeA5vF%3lGmuAY|LWyGa-^dogwY+y;%%<-%0Jd`9 z8Z|22xjiSQuXX)~)=vT$E zDEm_ohFG#C(WUJDT;4lfFD597MeD^fUuFq?IqXC?_o8T0EXpb>)>U*A4M&gR%?t#k z6d&UlA3^kp5`34#tNq9D=Lt(ihrJmHoI24b(Sg+Cn)LlXR(=;pzx{1wpApzS<&9PuNR5kVv7XJeHuU6^BPws; z;fn))+C^7^p@-LJV~pL15ZcBRKM}sn#i|%{J#*0;0UiD-`m`Ko35ho zzJLA_fj$JN_`F!p;V~&Y(a}?ajp*I)|9S8D_4JeEbr1gAIeyUZRasdL@}IMVd0dh@k#c(kr{k0bDoD~aM+_muh0z2 zATXFw8r@@RiuyTEW`z$B$|BIlvgf(e2Y`5AOTi+XQ5`D$?j3?~Kc1V9t$mgkH_-)* z*&vE_oZ~LwK8R*rfH?p_8!W!*!hcke(LNKr>7hsdR`(jzGK#$Eu)!pQu4k*X%BFye z6t`H+(kW1+b{v-Jswxj#aKLfY0?z31E1@VfkcT^u+c;eyo~N^-0IV3&aDNmXAHzoN zMw2X`<%=`(TVqpywP#b z%**ky?rYlCUw-$~%dg-3;k#Gg;?Dk#v~s1XC?lEHIToBpFpVZeehu=V}+*`VlV_Ozx?LwZuI=y?|=NaZuIT* zZ@+y0svCX(>>K#+4?jNtz8gLJ5kCLx^H=cs`43+``~LZeP+b(&0MT0%iwyt1!~Y!N zfBN{J-{XHC;(y@e7;%4DXNfdd(C9{&=htRkSLdtZ5{{6|==o|@tdbKLpPzns{`%_6 zFA(?W!Hrbg4B$7^+?;d_EuH3Pd4(G?sbCrjW@Qd9I?IN=UJqZ5dfD4-b)6)DIF*CH z(Nie3PsQ-*2|WD{sj6A9N)eJXn2SZn92eE~GAm9addqE<)e3e&>>t#ZtGuc*JSM1Q zZ=T^{QTFEP(!--yE@yd_@HlsRKNtBz9)R@fTQ0*>6_$~=@>-rOMc~$##ViGcuK6T} zI>*p*%wrA>2)YCP0pxQA z2cy3)c>8pahHva{IL))!wA_6!xNFDkBp1^LtYo9$1{nhJ)I(xKsKEEM3iWbm(OlCDZBt`p~ur=OaE1flMMC8VNeuky72~BQ(J; z9e*FVL#xY++Hw{c!vDRT!a$nn@!^S2nz#!oP;+Yj$TWW}e+Nd4LL`{#d=S$k)?NLy zyvU}?^}tF1J^}BmyG+Vxb>j1JZ%8kMb!FD#6q!}5K|s2Ehe=f!DppkH6MyqsKa~bz zDh|sRd&^ZBEbYcdu+(7q+Fg?JV}PwR6oy6#cq}c=U?j4Z9w>pN3c+_8gN{-(ft4=K z3?u^K)r|3b+;N9*m4RfiWZq0l@s+DHg#4l$@?YSsO{L>wQkNj0VO z)m27?lK!8Ee;$k;4*Ff}f#QL%U*Kfj2^E@N#pA;{@Cnd@GSC;z(`s`51F$6^vQ;qr z*_kC>_u-YLn!r-~iio9Kznp(a2| zsV>S@SdAmp^T3}cRLZEU#-X|jzAB`#qpqUY%xCyK=$KwRFr&Tb0Ew3!FZ##?Z!AnN z_Las^-shb_uYpM5XFW^-MmKWx4_KtGL@`4W(STr~PY^k0NH&h@M`uM*C*iy5Ws4~f zJ5R|bSOnkWv?OOp%Dd4L{y(=X;f!G_M1L9Zx21y&Re@t-#Dn|rp^-@h7#t4`01e1$ zwU+LhnZCe9l|P2RPn@=*3p>#aJnRZKMcujR)Rc&}nN8yY+(=h~9yYI5THkhcQ1_wX z;WBSq-}2mw@sfTv%oJ?Kvsp3jGFjsOHvoeox(EBXF88H^|FZMJ2OZItVqHyuG3;f?VZFAZbZ>)&ac<6`)8y( zLA|?u9pl@7gm?ewynMZovWvL0iBG(xx?TvbRdL}m#P{jhJqG>}V0w7gIwK&A8k3%N z*D*Yybx)#0q<7MYA$heXd@Z`j-hvs?ZrFo+2OT|!`1YjzxizbwHL!BvU5-S8+F z-%=pL+b%s2A$t=+4ORKVr)S>93%BoFyO>LtpgDmIZ@8SfJ~4&e8yP8$uUd;Q>ZKP> z={6;>y~S}3H|J92ryu|DPtg%+?S6!|o-Zb_9ao8~I~!krc?}CFNxRY5)$CqDJ**B3 z1S=(}BRgFO-^QJ`Nx#xX2OtP^E*VhZH z)=OCSW+E%Uhp1GT$8!FfTL(nclwdxc@e&f)_L-E!(^YyIvtEfc=FpiBX+diE z0oOI^3M%7N7wv`&9x6B#pfkdrDg(Df^DNNOBam7K>I7Eb>l5enfAaPzEKAb~88nvs zaS>Z=vr+n2|!nbR)Ilb}$O?5mqWW@sP2Lh_^~=c4&1Dk1H})i>5^;s=Y;V zc@oT+EMB}>-Wba1Yyi}O@Y;l#3??j&{psS*$OU&?ddhHGZeN`h`ImKp+6P{7qAWrV zE}O=lU`FaPKK#uRI|{G1k7{C>nNpl4mv=C8q>a8lF-lOKIERn~oQHcMj*Vl9Ts7a} zovDWdl*C5U4MT-NqSuwk|oR~)bSA#e*7q4;C$VlgPxY(J{vB6=djsR zVP*5h880n7umHGOTGQ+lusx|age#m$m^Nj|Wp+I>mILnQXgf}taJ?l1n2WH1?JX!Cd-6bpFfqDHK%N@E)zC6!ondow{jJY7x%D$1EcI2umqYQjl+ie)jhV_Abp>InYtdVjTs+l(_nXv^X75o?m%%pEoB4EWla1BF`L^Jb~6Pra9|RNvmk|&Smd(mR8>)FJe@imQg+{D$?d5 zYe1jfdzJ$Do_sNtTPzgnac1x}?VTR4>sD6sI2wj!@k$AGog0^lKL^yaDczjG78C3p zorm^KI%X~tUA~wq%bk#;cU5%?zjD}E)|`tjzSH?|C5g^Wd7jN?o(7iQ2nK$~qqLLswUA zu6U@35hQM9*12}{;Kl{E!JBsG9Fax9LqSF@BDQ3_iSo+j!OL^tvjH=_+~Wz>smCYk z#C>f5zZyoCJ{z8nz<3nzJuv4*3be39LjgG5ay-ItA7(JVxad*#eQ?8#2~Umyf!_H% zKKBN}%48Tr6PaK1HPw?G}<$RQ+hv-88Ry5VFT?`1(ksaZwmwh~?LwTA3&u{f!t2Mf0 zCioQxyDZZ)_`!vUf7i3FTm!3^NC`Q*aD(!7G>npIJa#@JT*OZrm$wGItliU9mi>|e zUj#C%eA`G9QliYN?^i`t;Pe1DgiyLpf6=XhKZ+!>c^|!P>%bQ)0N_#V@j9PPlUW9G z86bjt8AmUxJbP=@X>gIIiz`Qqw5X|zq?(E%{D_((Ize;GfY@Db1|x~T{^|P{-+cA# z$LDWeJpb3{FYwYFcQZjDfzrSe)>g>Wl;s83b_zb?N`uJMkPkXPY5>hWCVWL9hx~+e zgVY=|yyl{PkH1D8hlSB_k0UBbH!$kjW=S$i@=~mAQ_jr%RgnL zK<+<`e*fmp_dmUQ{^m{euuuErAfp*@eW>>RchahATn_o3xM8&yh>l z?qh>Jkp7`Nc4^YfbUKBXx&%#g>{f9VkQ+7Xxo1dJ+2uyc7hVJS{ge1UPZM_4EYa>NbeDId1pH0t4A=ETj_sgeSMCrc*JjqQuM1TEgO ziLz8_*%@X`CRQ4BJmVaJ5)qXL^{DLq-WM&2FLYhb)vM$3R zc4!|?P`{c=oOi8vna(cc*yN6k_>RaDfnYR#F(V7;r$FS*Rp7RQV^h$yAJS>W#H9=} z99QH`wKyZXVhOS7H-2Z)H7r03>y>LrfhL|;HEny24NG>G1m!AkT8y9W*g0d z%T;zKvyI}O1hkEFo;Ki{yid;Yo`xx_V@Bb7CFy4vd{6427R_1Ecn*+zz?-lB`0SgP zYy(XVLa7X7$P^j$RFpsjIlQ536m&#;xFX+&v&JLj)4rqb-k7}T+`35E^djn>PWciy-ZTB9SXOnN}L z*GpV|*5y%y^#oc+Dx==Zre~O0qbTWnelz~;5FR}F){r$%w*uao>xh^CasTX`FsW4O=P}` zFDMu4`HZ1?tqj~owcqUQ^NfVp1jHo)$BWc!{YG1u^q6aOpig?h4MyH21+lOQaqS^I z=_zkJ=@DDMW>jHV%?rcLdSnV+UI`vx1ru_*LJW$p zj)HuX$3Ti(1#J3_VG7C|x5X$Gn?Ky1N(6Qo*XR=WP|tO>L=wEEy~okmxsEN9LRKSWx6Q z{udGu`GvnEvIS~KOKdqbXd9-d@Nz=#IWpR5xYANH{EoI}IEIR2ui`kYIQA==rHx!C zR!>if+2$AN1mS&LLa|IIjt|YBzWMscKLWmw4nK;Xmz$WU<%RDVF*#o^F22IsjKr~C zT{wmyG7$UDpb*c2qXh-~jH$VK`x9XJEi_|Q_T~*jN4L_FZuRr2bKZ-No?dpj(4l2L z^0G%?0H&#?@3APprz)fy!_yN)!$*gFLO4C7%63~K(aI-8E`B5<1hxTzwGQGREKhR@ zE=n!Y`kD?&abFmbcR+KVr<3y}sr1Zp#ZrM!TB6DkOy|VAD~GLzr&_%myrB%trmJ)s zvquFoarpD;kuz#{VK1=qgB$qohHTu{70JVCgbRlRE1HG}Hx~NFQR7xrLE2!H6#0 zar9wvCnCoYa3C9#Zr46p!osY6^?_*WiNU?e8oAcB#P1s_;X&Yu62FW5zJXzNx;xEJ zB?9Wd*KYqd`rmKux3NlHp)%|;`d{c6(*4HoX+KavhX5yZy>3FOR&FmkfOQ6F(q1E| z9lh9Sp8?>QfB*uo*)aZ#`uKnFW(kzjX>F(Im5wcg4totl>?&Q86enUVWTmE>bm){f z4tiZj1CjrdC5j&6zEF#~=Kk3A=urVOHN{UzSzRsZ;*(FjO~25F#a~s9zrf;F&p(lr zjmYLU5gx$#Y?e(E@33k+a@{S2nDc?uV75BvGIN=2Y$N&f@OPj7?(;7WfA^WU3C%hu zSgmVa8xWAgdBbXMTg?6u{&BDFNf_UgCy%*9&gKXFnoL|aI$xZpaImrY3ac`VU?&%7 z{uP6F6-Adrq1fQxDmj8q9M?q~krnEJjhqtZMoMEGnHwngQYn-bxDehbxTRDw8seK# z$6iyog}hq>GeSvPzcv^@ZZ0~m7fl0Isb!SR0HrDd68mE0K~u0kcq}=!$v-OBbZF${ zvjx{Q)*__U1gHklNTJHJGIahu*LiU{(1mp}d~kEcNPuXFzoqJCbfUL7GJy9&l`vC! zpU!v#sp}0%L<>{yTxe>Ep3s}7g2DQt$>GzcZE>YNPQ>9xcqS?2Lo}%SX|){0;$jD%jz1n(kDnPX2qu0!yo7Q=EQ?$>23>1n2swu9W~;D zs~xXw?20}|8}=jYDQ}2DblQ`jT{aHKH}s<$WpMoABmV8OIVe8TkFM%9BHdOD-*<~BSt|(I71g4m`RK`PbJEZcE|c|3BVQ;Uy9jB z4j{dJiZ=zuEN)TYg#lMaPdneIL$y1rY+{)PHq;?!W!M9P8Q+P$iS4N3}Cnd38bm96F zbnGsCTu0uWulmr?5F^o#u|5QtVjh2OQb^E^f}f zWKE7SU~@+uoO3JAEoOUL_L}C)XD`2wI5aK$p1^<8d5N~km`BMMgdxFfA z92h2v)c01Ml1RgNN?fg};Xm06L|H}QJ54FRCxJ3Akb76IQ^j88Dot^{DKQmvewZB7 z0>|1&Ka)4waW~*Y)3u3)%MC6~?6qbwXE?KqHrqjtY2xx#^!qQW|N z%qB9BnZTQgL`noxe)pM_Ep!xZY2BN7*!@tN=pqwE_bYaW0*8dAXB<4FF07d%p$?j< zG|H6;-u>cgCl`dSM_=uI4GLU%>B1yT=$9G2rne?swmO3o@_K{B4`Z|z8p+|vXVHtE z%Mg&6i>a7;`t*%)G$E?>2a00L>;REM+^zg6<{-h|BzZHr`z&oGu=R6V5D-HOt{D3> z;mGzb6}3yT*XtpH!Jou=HSR5U=ddx8zh{p962z6cZ-_hd>oA|Txo1M%NCdRTfwu8D zTZdZx-$WQ}8fuZCoNah3IW(5DrP+NI!2}*=eTZp@JH{@N;`whU0 zD7GRaFe4Nt0Co>PckZ_D6J7=>Ofati`~`eOu#si`x3CiQ?ftfJ3!AZQVgcF13_ty) zjptw!$M8zrFcNi}QR4(zV^63f9)I!)REY1$e%zg#KvRV`-+cT1i|5}yfBB=0>~ER5 zuE%k711j5fCu?M3{vgJrP4M3f|1h%rtxvg;Vq#?epF zI>#as@doGPRd)9LYMG#xovYcXb;I7nPmcfm;AWF_-VI-mUccTONf^5azl}Sa(MiV! z5nzQvsnN)B$W7FZVOsfDTomk*VjQ=9d??X3;N!AbCaxwatv<5WT0Ru3YkySH`>VQG~ZGlx$!S z88dov(nkRU^=iO5AW-EOkmE)cVTHkX$PycuEsnBE>=bAhi49IBqHnGzefJb9gPw_0 zhToZ7PtH3UI(i8sO>zpV2WsfCH@)%O@8!+-0TKNlQzgphD8=&&ct zVkYtH=`40)MLP}AeU`qFui&OVu~l#(^$t9L;0UIr%J@3=B$q zlyoBtNQN!A2S?+K!}r-QH-S2@1&6Tp=%~I$tzz9(wbe#~L3DhLyKhaxVN;ooo5>*` z4m&A45&RYS6x0!5&|4p>=gnF}?E~k1TMy)A!$5?tyC`mvi!8d?xL&j$g$H7m5*zlT z-6JL+VYO^o2xbJDdi_y*hw*9g_Q(%TV&2}ZpJpSQZD6@EOG0*7jJ&4@wW0nPDK#jd zHtZv>!=#P*0XA0(J!r~&IVoloVO9ltCm~8au-C&}4DIER-IGdI?`wJa#yHZJN1mO* zcvRZu zv*E+L6z6cuVCKOlU}7-D7{!q$}_)6?&B*zIS2MjazA*j?df2VME}k67dAs6 z?|d9LKi8uUId}A(?dX>U@Ir7F2+}(0qJsJ;DoG-V0l^qV66_iLqy`D{l%doB_*VD8fsuz z${E4wntV&CRWZk`J`^XLyVjgZl!6)_xgoao)FBd0Q8e$HD4KyP&=w&XL~~#O1En#X zsRSWEFgWWwj+n{mE&@5>lmrC$=!W1_#4O?WFmnqZwbyW>ldUDiBQy` z^O7|dH%x+Xj=dd{PhFa7bJccSRPPhmx+$cMA(r;b>bM#X{65{xFSF)vb+g97=@=+mO|{J?pWT*VqqE zaoUp{b1;a8^E}>~etHlMwd5$mOgtu2v(xvkfh>=Luc4=cfCeM?eP);nJ4ur5vEvOe z9#4rtK9-n6_1w<%GdPE=KMS^XEGtzaAj^7{9)t^)=j;S`;2makmx%nd=n&zRQDkwp z3p_*2&w*EfZ>70}`E5e5Iyz>_kzI@RkEHSK$T=<4eD~A~<*%WZyHPCBUMc4(W-l?h z1mVZ{I_5-s7}B^P4RVa$_f&5^t8(B}Czuo!o@rlG!R!?ORE0de0VpFoaAhQ{dV|HpspepEH6G6T9v51phm8|z$O}qO9hZQ-r#<>1JB+@_)ZjPy>3*d> zC!y;K6JU=J1mv88DOrN2mHV#O>z(#+Dt-H)8w##~#pxSm=Gr(l+({R^YP|i2job7M z*6(%e$Mpg?4KY+Vk^6ZN7O!E!=ShG#y(9~G`WjTSQ_u6MPi`?W?U~S(}x;Zx&=|1RS3JlAGXv`RTh?KYi<$KJZFy*DsJ3;XIoyvsLM*FI}ej%1vSE zBo5`g%Lkb{do$?d5?Fwq~U)x!$9 z+WjiF8KqfVQ8D&A`>#Q^)!Ta;TvN7ZU==JR*56mUP zz`Gxy%v$joaO%CnhSU9UWJipEG%k=i zrDtoFZ4hIVOq)u@9Y-%mxwuM9uuWA|IlLElY>GLUBmBkTjJa6z=e&{%%F;Ul!K<6Ar;3EAFDTAiGQG@Nhx86LH{Kc;0^m z6E?F~vjkBGdAc2Xqx)kUTGbiC+%=zeJgAl#D z2!d#@B9QRHQsTEpr4FQ;rwVO_5o?Xze0i-D0!9{Cr^LUEgQsXz)&^2%9#&p+gfVX!@0G5i_hftu)8mnwNPzATky*jvZQj*)qsN>DjP{M6pHh>9 zIozPrAb`t@skTR0ZF&fVep<&^c<}a|-7AK{uk)E~NJ%ZiI+-V(Q75TQshLA&18;8v z;GX=$KSau*VpJ5)^A!M>1c7}y56sr7@@f|LrOVbAER66^B}d0}mxBFdsbhT>6aX*85l5xKxHT07L?a#{-@d_!Xd zKX_17tW7U%k$wPJP1I+Ql}Wn1P$2*M;ZKMkTCBr@~OKE~dBdo?|sN({0G@%(*>BM|CW$|~Tw4Enra?C1ps(Pk9v zK`ExIa5R`9F_cL9!_Bf3>G3VpS`9G0#a^I$gbSA^bCH<^Z&fFj_!sNdgjB!$t3OFs zs8U8xJF0l!)6#@GBdy;NjlQlN-6@6Yf7l#Ek3mVA<1BKNTc#lkd794i*|nM%Se}OJ zm&nyXosFBmE@f_%t2MGL-jvWLx^3J-dl$TJpcbt6!|VQoK1HV5^iN!qTsdwN%SwbY zn8B-Yc8G>ikMn6?8IKc_%hpI~P#KN5r|2>iT(Z?>jOn7xmszQGja^Dicuo7~S^f}S z#O0v#1Mz?Z>U5$E;jzjznCH67=Z+Sk2Yfq*6?dv{=^^eo5h-9Saa*oe-if7jBT24N z%3Tz4I$m39zRVVVTRG;?p@ITb>d{ZiQ6Mak0~_hE+f>Ipz)+_wSR)|%iGa+alJ0Z4 zEWJSEzrvPF;DL&Wakk;g?`?p{@dEdDM|_QPVmE5~v?$`v-4xKMi15;wmY$k2xLu<6 zhPa`=no5b?61~7&*m}?a>;?|T-@?Rzm(}&ma^FH5KqB^u?P-3dI$V?8u9!a;+*p;~ z;*YX*@%lJ$E3|zjyP5(SHb9}3&;r1O_)-mUQdcUQ!Ah%Y<&Qm2hm1L4!nb~`o`~pb zKGv-E)8uVu6RRL%POM2uFp2=3x$$r7Cl+^|VD12q*CxbRnlvAEPIzM8r1E zdB7-836vY+Csg@qOrpXJ<5$67^ZDfW^K6=@QNq5+U2~f%VFGVpY0<%W@l53Of z`AAb$TM_T%3FitepFWY&Poc;BYXc)L??~E|*<9e!i%&2kS~=E?)7X5z_$nhUO?!H$ z_+3nnqVHnL@kBEQb$-MVbak^Rg5rau;80eRTOi{tdWEMj{57=2Wk9S}Ro_MpcDSYx zBO|2N!-drg4C1#2?r-66er#bsu^(oY^Zu!Qf9AZ$JnH%$)1p6C1SsAG>8XW8kS%h; z|Aki`XJUkw6ti$Q9K?KLa$b6+fenXqlfn&JoI7Y(MqT_EQ=5>zP0F=K{^(k4buc|r zzp%ft_J*E3IK7xCG=4DL;VPSf@J4=k31{@Eicq&}A_MW5VX@k@iz{>jwZl)2rzl6{ z#=er6K$x}InU68OtRoAYr_8_#h$qDVr@H?J@;)?hPjK0%GAIl~PFHFTjn`QVGxp1j zI*#Hh57I}Qo0H@wVv2}lYP}lxX92&owUI&gD2711~#- z)~18M9n#=-G}}f(;Fz)CXEW}rtSn}4J*~+Etx!6F&;t8f#GLEz57_fOW&@6 z%HX~0^GHSvRM^=KzCXAtFP@y7#5PGhReur${ol@TUz-<%464nN#*a0iq=?i5p_Sp#*fOjq_+o3DIUBF;IaNh~X|Kqz%9 zF;3P+mCBGSGP0I8(d9Yx0-dYXa)DhMO)(SJ)&ss#R@=H@QbTCPq=>2uJtt^DI!Tr! zxPgfg)G?M;jH9I*+qmz$8p@;7;Rsq@h!5D-vb)mCwYq^LcbP>tOM44trzSj-B38sU zWB@_3(E{|OGYU~u0A>>9sznhSh7_o&VvS<2XxHnpE*Q2EvWNXxl_CmLJ1Q262A1kK zys!ir>0}x68g|1N76$VFGy3m&9*@*{&kPE#8Z_9)(URB_oWR!mKo&iG2_4S4xzF%s z+?v!N92|3jbB_8ny=7$s8`*@a(DBO8u((8QYAyl2LX&+X^q_JKE=vGFx&H=V(* zH^@WW&=L+T&f98f3-^k#1& zTAsx^8P9~2Q;DX%vS8ZotPdOOM8i@rw{*i~tQ;8f$k=r0=&^78b4RyFc=DJ~7{Q4n zoa{hDML3=7vN?9yY-vUxHl(~#1(~Y&(vz%;R zZ}cqTaCsIUf#I;}jH-EeF3yU@z?Oq2(^VQd{MoCD7nl-*4G?(Yg)@kSbrx%ARs|4- z^IP!bX|$?jL6x!G1tsygVLKrgGQE+-4U+d{m5&=oy*|9W)Z`XrC&arEr#rnDnRUsw zSPeD2^QG1}ADuX2H9i7{Mi(kdXVe<=7I&H!{6GyjL(N0!8C1ly8TE$P1d7Y&>6v?@ ziHdI>$&)8b)ZSLW5@09;GS74c=$PL1`2qnizB-$yPxAR$RIVnd>IWV>hI*B&_BS)< zPFrUa+lC|^p4Sk)3mWP#pPs0Nz&M+E_sw^`rmx+ZHD1@>iPz4q__9~oZGHB}IwDcc zr_5|MUt^QBe%x?d-*yK|X3eOi(#rjZakqZC)Cq+bjrM^jmM^9>)E$ME5w4e=dJDJ? z4G48ta}AH-Yxb{j{nnjeM?=p*kFo2rp?sWAV<-Q0L+6AYbYnNvLh8B$<;Uk~2iVcL z-7be&kHAwMI((3_AoTV&4rE&d-nJld!y1|+G$`Vf0&=4;#5~ z!jT7Dd3@Uhng^1O$tfjo{9+WZO-rOg!1!sFrKf&j|9E!;T$q73W>|lOt8tVw0sk?zN}JH&(LaEnhLi)%BOx6~gbamUG-=@qyBTlWILM znbfVco2?A$I%4LNkTZ1DlB@Ni0qXGNHT~a%n^V`?06*i^ke+1RBeoXw%_m4-Ar~(E zQ|ic^HDI2(2XBZv`pND6>@DL zS3InhGi{O1CMQKt=!|ASCY_pa3}e1v)x2jD;MF&zoOD)Dqsr%5{~`WrC+QkxWj<%C zaBavv1!Hpdb!>NePve%O(hf}HJz!%~Qq!iO*@qHlk(QT4TGR^-AIt{1i>pA?(=lPrU2aS4&go|7zvW!!4FJjHBdMfmnGXu zCuFE=`rzp4#Yi_io*J&U*}T2YVwl-OUIO+4&_wx9xHh5xU$`0I#rJ|z#RClSLQlFAi=++!9rGOFhooZ*1lzZ;po&!)s|qgoj0!d+GmR1(4op&KetJA668z3NfG?4-`Xi~bGda5K z9zlSZxEq(Xq1T~cC{SC8oiEbHm*>}UXvWznatE@8iVHLzDQO6@E|1QbpNPCDPo%{b z7&X~@ImVZsrZ*Kk@Kss)aS4jMjG6I`ye(RSC8MrA2@Nfe3qjHao-dZ`N}S;Z#hBjV zYNAvk-X|Jf7Aa{Z2r#v4@XF#VCdxE0T#|;8O({0DeGz);*bO7ENqD;h6)1fT53nyAXF&7w@r;>j!uL38-WCnPH>d(0 zFioxzbaw3k>OFlR$bLokvv#6&=V^m!r)wG?`o^CaG$zm@ni@l6$M)FDOyV!XadW2XZy6Q(9v8|m^tK$vro7leBb%rh!UY+4QX<< zm!gT}8$Qc|@wJ%o`%{p=t4oHAr*TMz081?5fM8X&CkYOXA^_$$J<- zD`lQ&98>)w*8BJ`=2!r6jB#2vnjlnjh1_Xl$htfSEGS=d%jD`o;iVgrxuUujae>8g za$IsMB%n?;8wkY6QBXO7^?tE}U%yY!4tz zXyWptb^{j=6ApdNt(dgi9n{piY-tU^i5Hy0hp|kj&w*l-&olZJIR%|k&fN()NN&_K z{B67TU?}$ED4%gME5cPi?eKn89RMh!qF16UHCf;ci(`ak*_IL8wUf&jwqwC!y&P#ZYoMsSbOcWoR{a< z?Diu+&AxHhcRCokq&b`YE)$aX8707#F(N-D`&botc}RkDgL7<3J({3f z1hA=i(X)r~0mnf2rV=ZVj0xf6L_dnM)$ZivhA!pIUHp{)vv`_pHoC!(cBsWHw>Y!aPaWVmiO!QX8uozqpC4b{;i z!PH=Mef1oCKy;)8Nj0Tsvzf41B;d@tuYVk?;HI*yC2*a9dl+rfE=^UcbRnV zsQhKYf{DY+pT7O_`73lrPL7}4AHKfq_4h`d*V9ju?E27uiNR*kYyWFBXG0I->G#H-4uZbyyq_*v@c4LCYziuy1E>w0Y}=8Tq|iIC=h%n-K8^icY|WuCqCi{%v*ks&tH|Pd4;^ z{BCb=kNy|St@tp|;?z~oqb3R76WaK-C}@l>fR!u~S>+vcQG+HV`~|4H_f{1>@ESOl zd%KZQ9qe(jnEC^K*d~B#Ojx!5tSeD6jDVq+nazj2?`=mVd#TOvBp?D;R^`B4&sbKM zq%)En#u#v8fl@KMjn`1a!z}zd^q$-Rt;anML|_`j{EQ`9A+3-RUZR~AI?Qz0g9rXx z65=3Ui&$kKL{FzUoabbOh&^UCz?F%3BdV2$ zgb$e+N+=Q@r{f;`{nM#~@As&UI4}p{Z_=_Yi{uB$bxUdd0&Kp6D97MBqTH5clVb+; z+Vz#8A@cl8*iYkx7kluHqqYPv*@=Vf#qifw9}hHiIdK_$T5Bgy%C~3H)qJ)nkK*&H zS`PaC%gf8&<)dD)I_n?q@9+1agkw^JcY$9PR|B4X)LibvQa9Qx{b8dAb=3-oJ|Ihq zF>bUzU`6huM{zzsi=%Xvr+ehVG0Udo>mv!S#@0EAE{}6QHD4aw(2vcNKK<2_^DUs4Pf1f%EH}}!2RAExfd6184kGiJSNygT1mJ&j28KfCU;xcBj9rKE zMm*~!tKc}%qA zVdtx1JsBpar~bk4sO?~w7CCEsY&68T4dOxBhk_!-)DH%#o5WPap>|7H9V-dtfz&Q@ z!^7dOr+iFdd{e@Re02pSC)+_yElP$gBXf1H7LT_aKp4m;h#mA_e)#Ss$bT4wEI+-r zsSEW&c~x=#ou#mF&`OWY50~rlEHBTq6)hv9f2H+x+>_PEmE%ys zjF;bTF$7Jbt@l=%s(&y|dj~n&?yw+5<(meAcd;qD2g{vU%z-3?iX&pRfpV;>e1fUI zm|7VvkQqQ~f&*iAHugx6;c|^Tqexy3cr9v?THpv?(W1NMYq^d~lc6q-R6zTUf&Dj& zDmw##L%A0$OR3H=L>oRJ_V{;m5-4lw?};apHQ_7;X0XB_F4L7+ZQ)vD;~u-nlo;4OLUygX zU9?z|@KR%~H~nm!9DjMrD&&{65K(s#__gT9?lj=E%9cf$SHWQh(ZFX0zf9@2vGUr|x++x$w{3Pg`#U>7MnlOL62%34`VeIQt;UaIh|MJghrV zZFMn?5peAJm{LALwZ`RSh@Ny}N3Ltu^s~zN>=2Uv)OceZwSDU=uzDdHG7pRM;u71@ z8L?0T>lce)b7=o-zm2|wD(()6nWnSgG_&bgLSx*^c4}mof+OzXXt_!fu+sIZun}E(wH>zV}eDlM;YQ&&M^-x&UL(l6GTQw@&L-!8Kwf%C^*xVW-jMGzXjSfb3Ipd8)0DExbG_f&P=8**N z!F0YFzK(|Aq!Bf8Q1WBmtV{CWv3}n;NiWKmyl51*qNG100P|K5TUN{0`>(-s)t?_1TjJhL)kmjR0g6U ziaIs#bwDw&&vF%~!M)Tj5CyJgwDj?0FM9Y;LMP*oC51|<*>9dO%^ilidRaI^DU6-gUklre^{(QEfyyj1FUo89_4bziAfe`m`wzzj8*|b4|?_JsJB?CS1y$P(BI;N@L|)uWs6XaQurKalLjJ z|I2eWOLQ&Uykj|@7L&4%#pqU{$#up$#B+!m!{2hBd_4lA>_rY6QnV&}xrDViO3PuW zm_R(5IA-=#XTMNMvA{nihnOY0CjoOrT|4P)kkD}zB4r3}L;6|rk-5FTQwehvZ}a%Y z8l51KTpcXpa?-h#b#F@cRr89+mo!fFV|Sx2-9OF^z1>Fi!rw+5UT@0LmX+iZi~%kr z5asc@Eq1^m5vX1N2Ss*sGFDu9{rJ26pZ->tqizo3 zqrF6ZYMrp2$*!z4J32MSsdQQ(SGc-&0!3?)fEgs%y9Al|4=l#fC3)v^v~^(#YnIWq zh~_T5GrG3qTbS?yn;W-5WwwMDaP>6lCFRYe@jIr_jK>(8u_m1~tTVG`wp_HMFNS%F z^n#h2!B;gq@7DE9r$*>LCG2fO@DdyjKOCgk(wGQbq#~V~kYJr!q(?rec!0b;cSkJj zg*e4mM1Tef9*^colRLMMrqW@|oUwz9uss2el`Exu5+%%BlfgKfb4CxLi>L$ogsr-y zD89v%wx94{hq+J54vQo9b|W`n(a94yXDfU8e??c;DxB@AAjV3K@Qy{d>wFh`A*{7bMKv_LKaro+#yn&K2kne@ynl9jo zsxrE8&&TU3!w8p0ae;KLx{g_=P#(qmkM|!RI3^7j+4YY(-JgbQo}g3mD*Ay#hleO# zXr1goesI%X!c8*u_`tOjnPTP+OjQ-uAuAEKD>z+c*)Lh#ce_l-x05yn&2De)Jc4tr zH~hLT9vv66+b|Mlg2VMF9jNV|7RutTN{<+SfSC>~s7o?IMyF#~gc;|&GIl%qeZ#-y zdz1Z+mh{%H!fUnTal`ZYQFBS>(%Hn0$qr@1N`{lN#Dq#{QlJzQ(|sATDj)c-*(O1n z68UO24e(h&^+M3?RrjW366V(LsC5kTFV5yakR9$(U?K$kC7?_mC4vQ2ETQPtVI2ri z31d|5lJAm1MTJ7cDH?lT?M;KyXQ85 zbUDeR-%?b%Gc?YhVyuHb`AK=li^ht)SA%Z?7yo^2#1<)0t)sT_lDPu;#)!j5Bf0<*%*gF67**ZNty+;QFU!KUXgk9S8&;gyR>M{*$gB{z>--*|OBa@l@r zp7l=C*$fUv8FW1>gZI0fkOHA`#ouAA!<4tr_3n(r!Q+F+`#UiX)GYPXv?4>`z29vJ z7(~-itjjOZgV6!2?f^>mPM#pS4|zFdh7CI>eC8e}Ikg7VdB@`*kq`@qrpF!y#zjZF zDfNGur5A>V@@{?7M--mwc5w|EyHUfb>5CR{kO3v<)B_SDfqqkv%-|kHi)k>*2F9MG z7?a7s<6$~?*MW(yf})9fx{8DSZOV!d(N%bQW)Wbv=n}9wjk9KLI*0VrxhUaJe!5tj zewJivCqTGkx4*?uf2*2-@oKb_SM`FcU7-9Pb;rXtnUtWD(L5?(22H+fYM0>9;!Ts_ zMZ2Z-BT~Pw7`1I9n{CTkH!isGimhbx@~A@D1{v|iRDbR zD0*Q}>I9cY+0a`Id4$SihudUYPZ*_($$7Clih-2G4yol$YUpXVmAKQ%b!%G=WH!lF zz@r9AEs>ci9&516aC0^gV_Ze=c~2^2mE#Hqx1|RMZIrbtW*p(cL?f(|q;7;JcB^qd zoo;n9+Df|wue*{j#?Kdu@m-I?INHa{^Xo07O&iBWEioZ25OLQxU^eaaiLmjn;bbB| z7OA48R};yVV7Xs!BU=L>)&~(Wv4i+^q;R5TlNAP!vP8$MxA!M#T_0<{M!N$IZbE@+ zA4X;%Gjxo|gByAeEy>nr=P@-*?S3@Pf=efPl;@g$B|F`xS5AK%qgaPDHZ;g% zR&S7eJ8o&u?y%-IZiNb)u@NS|4^? zH6fYZ*<5LwWvr}~Y5`;!K$3Q%C;EHb(J(jm<5TY=UvW62ljFTbLo#$t6v9?)iLM%b zk1=nhlP3;1jB-qO$N4Han|X2GuiXl@hZMmWH#4bv{$##@e9 z&yQ@n%4QjdkTzMF{0ReLt03m8fjs#0PQcYjMpK&~3-1)iHj27SsJtAi=jq{RpAQ17 z)LAiZCQbww`it#0QG_L4;!*wPRw!kP^q*opj>*LQn427Uu_XWi$5msFrGXO^63@Gh z8IEZ&Pw9Tg8&H0WBPx3#EMT@sH_A>=vq@EkCFFH%?~{?Es*ljH6;D~}u9vv3eoaKE z3w;wf7~ZG`nF=EA+=8)jo-!m#qTdh+Z3uaUPFB`~C|_(H75Kgo zPL3#tCa4f^tx&@kk|gA^Z)qW&7GhK7YC~iN>p|zY)C%joD4G4cZ5;*I{|PN-8f~!z zkT;<=Nuoe(5zNp*Bb3L4z3^Zm5ABL@w3}Sz%`&eh=bHLw7h{)h^ev{&fTcDw`cpW$ zU79Sds6~!+nSQC|Kao{JU~-}v0J;v-0E{|#TCQdi&a0#!wza-L#H z-n+aeW9-6E-Fl_j#E0MT& zowOG^;bfB04AwF~YL*?vRfA=RcOkp8gyid}7^6^2MO!KmmuO&ej)c*8b4^`Am=Z}v zuC1MRsDJ2FW^bx%l@4o_-1`s{!Gh)GcKuo7Di6r)`$%>$c6&h61Fo zlZ*!U2LnFz{4*ag$Jf+3DcRmt4zaF@gh2TXJ)78WlS>o&{07FicQp3}c_3692Clca zN1Y-dO(CZO=3C+t2E4WMWz&8fI=PZa>_JDr%+*;L`wmL@NO)Kr`{(R!)il7Kb7`^Q+u5Ab zc;2Y*Y@^>Wf^sW!OT{I-8e<^yARG3M`5-QG4C=&^Ga!VnS;Q0gDYTL48QpE6o;zbY zP9>0XqatQU_DC}jnm{I)-hP_>^y-_hiun@iE+i1Qs7m%?&2YK5XH%@aF>l|zv2P>$ z*4M9`=WN@X(4med6D9lb@FB)a`2G-s0l{|)qr@f1L83Xn43CCc9es33gVoEoD4RWb z6gc!E;nvL2E7rK0$aB+ijOs)iLP+cNYIAH?KWwxoMf(-4zg-XsCGfnnUZ@eOWurtc zFHloioND676Y<6C_2kFNsAEFJR;z3C+Yi!+rbwteOC~9>F8KslT28nVvvfhDih1BJ22Sl3xvQxx;qBWRV4ig%G`waZ{wZ8!+-4G8&)FWF&MnFa*XoV^$DPrt8OJ$> znhh2~X!YVWE;Gkr>G9ttnxMC~nS{+f``_9$J1&kBNhznxFKPCGcU6Iy;G_)QqGNs! zdpoB+(riv2SOxfXYOyEZW~*sFX^r&Bu}$$u2IWxN?>{!9doUYi7{lA)L7anG~Yv_{q&Hkt&{>>9zQ+rd}17>s(DGxFL~EV_Zo9AzR$y*rBT8{ja{7LLg?t=X1*c>A0y z)j=js&sG`iC}*_QJCzr@yUzzv!a>xOjx@v-;g#UBO}vDCdePOW1_BCAR0ZfUFB^^Q zCrTtDXxcs#K3|vK+OUa~T>oT(jA)!mg1hNRaw1oW1!I<6ojOC%L zkh&g7ofH5n4ob3<7#E5pm1sD-##mSAP}({ZNbtH?Rd?tX#)*k2b4?F!;0YKXK|}VN zL4|kewyBUBG6wq8m8v$c;Gc(o9*iCiIJclpGIDU(G&Af9qgW)#gqO(9%R`*;2_<S)|$i7*VoMIJm{c3LDJmPpujk|w&Z^7xoScndcVko@=+HieA{43??tE2& zxMzpBJ2v=_8y4T2_>gPyO4gW~%NztN{;bLqs~^3+Y#m^_p5|4*p{S#y9kS!4P5r1b z)5Vd0$RRFa#FE6aI}%H+(@8oiM@3{MNm|sT4`_qBMZeCD;Ez?dQlGLNV z?2vh0Zd;bw#3W|Wu8riXn)f3UG$oum)rPbZkr z?$#mLM0`mT3ll;+pB18K-YMM>;p z8()m3sVQ61FGVq@ELV)H-6CBM-ZIZtbC5rf(>|RQmw3TdMXz2+=uw0UUns1LyAFXr z&&eCu(oy_j4<~wROkold8%s&zW+~dNr+`TL;+&%E;+;k_1)4Px0xVhdZ4DM}$dFycN5Vx0Pcuj8K5N)WJd@~Wwcrg^Pp;m8E5IjI zx2Rv;K$T*+^d3EPktsPUO~Ny3IR=^GfsC&GAfwHR)9cyd+9#~O-)%$=jM3u7ok|kX zigUCYeW1%Nx~tGP8$N7>#|>{V0I*fB2XYjDb<7&dL2xO>h*_I}yIw|N){@|O3qq}g z_XHGk)*i%^YlY*}gl{`{ya;M=%xR4x!p1wkfsqPTfsK(;%4NQ&sfrrni;L~luC`0A zW}WRMhf54(K(Vp_5*iVaU3{~R5iAz`Dp4`F#DF2_cfM=P0kL#83lfbqxI5thc^p=A zmmTIG7%jg-%kaAgvODHF!*y%^bM!Gaf#-eVFCA(~vT38qw~QbKr}gj;Le5)G)CNog zN(uGw7DO0bdnVp(CO{ZpE$lo{CR!(a=_JK86FSZQTF>b;>_3ct|K`p2KfQYX=1ugl zZ}>phvJ-PxvpN;w31NnJfhF)37R9E6fO$k9n-ecX6TG1y9E7e7v(eldpF($R&F6qj z&R+FsbCA(ori7H`NAXe3EL@gUMu(B@HYQOQwYTz%lLt4sGK4S*lzqA2bba_((j%;q z8Gpu{(a-@c7K|LeAM2O9K2tWt+^W27#H#5?EHO@ft44egjkkUANlbsTWi1B(&b^nab5BH@GO9qV0V zx7nx$W0T9Es53&uegV!r$VL&Sou1SrA2+D6;s_-6!&ZkRj^fvBIxlbej+TF06Z%?C z6?5YFLH#`Hx07{;HJJ&GJcyda9ml9n7x|`^W?ZdemTj+vvLc zsKdU#4FT8WA`hUy$2>HtGI*HS)Szag;u5v2G2L)`{z)&nBF7S=$c&Bh8#BXVYC_xd zedXs)17E!LU~n$2v0=Ql=I(aFJM98PEY}I<2Ob@bbk<(e5m&8rG?8bA%xKZWM>Ag##rHL(S3=67G=(N?XOzyr6MRQlwx;=8Ln%??* zjXXLqR&byCJ_pJXYohxgD5CYSXv|Di*}W7<&@>=_2qLxKF)(Qm-B<#-+8~Kr$X+e_ zz=)%|)-1f8d2UVuUr?}UV*Po=3`G3cnvmqg5h&eB_cDIOv2T3N!xcnJwjZoi>e{T* z+HLRur)K<@FH7QNJY~I8Pbv~g2}lSMIv`os+3iZ z>@!T*H5^(5Xc(h$K9paQfn$7@pT=ZZj_4P$TuBx2$URzUU656Vm&w&p2teyd4-jb_ zVl+56*gA-IBktCXTk<)`;N&IA5PJ_>xLi#n-rVX2BhlP`api-?t1Hy_@tiaw{NRQjHUSFK0)3-ZEig#+zqMgE z!ynnUt%_L*sAxk^t&4?Y4kKZ1@3!4MEfGyR9?>6?yFtz27=hXj4Vgz@ODduOS+O$L zPs_+*P>rW*SJrt0^V+S`0pt$UnC7ljPft>%1vm-oS^6Tqbo43mlJ8($u8nRI>6<(1 z$|*H|t+7m!kUL#TM4v_yBq4P9xUVU>=EZbPSz7C1WevB2gOT1gduev-4XNhrEU7+m$z`XaJhKqaGL~xm|(s^lRH?pS< z#5bdx?9+_(tuBu{PDB>L#2wf44|=+uwcEw*44dI7Y|=yv(qT?4YHl}UMonfeDN~A5 z0qV(&#ytV(JywugRayvEcEB&JZ$0dI129i7h=hd|7}Ktw#z&SH32(9CaZ&qCs5V&4 zwb#O2K~jKBt(ppLMkgKLc9O7F)rojzV5CB7o=iASD0R~H^4uP-E0`q$7oCvfoc|d{ zu#D;bZDX)G;UnLTN<~)EM^VduQ$L80xvI$b8sqPyfRiJ_*S!$?zGFr}DAi%MZ+NV=`TKKkiintxMBD<-RnlPYt~eht$7E}`ChhKn;>*fF0Zt12<=f0G8Q0a1Z3|gM`0P%nu^CG z!qR(=rkV%0)I|FMXFrE z`(^z$EI~=fGh-IhD(*o{FCAtOzMpj3#=X$!Gv^NAuFNI6odrT>YnnG>VX~8zmoYkN zGWFUig`4gV&kiEEQ@uSaB=#`2Zk__HwpHAX;@H;JP{+uoZiJR}LLLB`3Y#?$;VHzV z^p5h-3C1l&plB!c-ZD|Uot)2~a#L>L--hI6ZqGGvk<)P+41M9>tV#O1Lk-z!T~cs< z`lhQVCK80HGcc7gctx1B!FS!^iCm}|1Y`R1dV0ppBjM*eNp8W?(ums5ceP>E0a|6Z z;EoqWrs=6mFgl5^Y3F3)wZ1;S7YJM2Gkb_jPX{0DI?9Vidf$e$qdHnImgE@-`=&He zEhzd1e_@9Se3lYox;8JZ`MXk0@Hl?Re`kPib7T7pmxxkdwgd3W8_z-*7V#RtHhAM+H zLTTu;kYA?r&MJ8nu6qy>4%IaCtaUdu6hTo035$#;TPZF$z?z6$clDAkme@;m{o} zh4aK4Lv0-lvb09()PrBw>eX(s$RxXlIj#{3e1my5yexpc`Z*sUTIX9m<=#Q({jQ9l zMUEgElBHIs1~CR!?P86YV=IAe4hZeZUp2z-=tTWM-D1~h zSUn==>Dff&u4_mgJ?(D#LDM~8?uw<=5c*oIK#mVsD=SZOn2gAY9)dMH#uxYwqN!aH zZTtQ9ntQhjpLHP=&jZiIq;ARaemuQ8`pcrh09w%z?eStsKR6^uvk|&;E#awOPf&z~ zc_UF4LEXOx0ud6F){LE(tGuen%UZdC zTLr|Lk}?R8%7H3ahA!$E=9kb_vPtoo%24HLsfYi%7X8(wTDTNG@SYDr)Iz|zZWPn3 zmPC4~@g{|-LefmAn8xu*8^_;#$sM>8_2yI4a8Srxt;T|z%o~NmtQFTyXj&cCiganL zfaG)7k1}yhkI00A_{p=Zp%1QNTcFll%a}W>(AQN=j9wwvvnFYWUt42AwV=FJkD$0K z&C%}qhIs9m-)F;bGn(|FHdujW4;e$%$JkF6$w>J{My>sE&EG-+z{?s=4v);6lL-u2 zQRv+fNC(3QH}syo+Ue8AwfyDoI%@PV8kUj^G0vo5nmBX=UIW3%oM=+#TZV?6>}&54 zHAm-8!L@cvQ_cgkJ=45)MZ{;R^PXuG*v2j(qOJZfY^@wB${q7NK>4HCGH**>t~L(a z(Vz=CKEurLZc!ykDg{sGA#L$BU6-Ym_=qLm%{pF;F*+m;ImW%eQjTD97{6oIb|ajJ zsg7C&bT^QgWWxY}TSAJZ8dHpo{+pBZ21!!ibfcfC^v|Sm&TV)Bavvx#nXUs3^F%pc zDD@ad9HEaGWAT;%uwqQ=QlTv6G~}Awt80>AvK|#4g4^<{XjnC^S;E*9h+b@Ls;~z) z2pH3->EEi@IL`E5ey=QT&T-~wM22*?2+K7)tq}JmkQjPPN%<;vg@myqClLw+btnmQS@|4WzKy9EHQ&hHoj z7zp_I`Y5L3KLTcE5<7`C=w&{Y&zK3RHjDg)V#4AtTNz&ba*Naef0wPmL%FdwT`dfieUzY`vW#>b4=tUGyVcRnYdwU6hy zD5#mxavWn#Tf?K_M>W2Jk|vNb(x5#e@M{X8c(~ zx+!?G4GQfgHM1e5l?IMMthha|8MG^qYO$U16B|9DgvAsYud8%a+wt24D+dQ(Aw@io zi3DM=B8C8?YwP4ZxKRW*erBO7?o`o?g%@gD4|1-8S&?CA{g)Vza<{DNYyzDm^Wtq* z^3lmZajc-b{9rPxsYyIG$J@2F zO&l;kqq_Dng_#{Y_NTnxhrxzNvbtrzI~}ZTa}G+LOXApmOO8OP=GWq!f%UyQ&!%GUO4hyN*1@>N_3gT@2tV`<@ZOeiDiY6zJtfC@=3XB7v*K##`vnE878*hj6Y4(sV- z>$)(B#@7%8!S(%Ll9>xOL^&QC_YKFg8OQ_XYGoG%&N7J>@lCnQ4C#Di6@S{Can-xI ztNo^v&z922Ux#00PlkD>{I8ngM0Tygi!EX{W_-vc@vcTm_XDFO^4M*)Vp(BU(<#S` zd2cs26N4I%MVxm_7kP_|Htjit=7kDa6g(g;n%^eX^}@4=5=+rxo9eq|&R9Qo*=S+i zZE`tY6vtLwj(f7neo|Im=^4>An+t7SjHU$IJ?aBtfJREkb)%V@F^qOr?O_%L*KP1x z9LikQY+~%)PUk((pEJ)kW<3j&d?e)W##eiRnWV;SX{6_xLS&~rD#pQ^!vf#Yu8QF` zBY+U=#u~A2p5d8bT8p)JCV=Lx#uH5@|DkEyyA#a7l6=6$Ifwt<<>q|5T?xh%L1kKkxwUlylbR#>Ih11VC`5(%{rfCA7H@4_QMI z3me2n92rt(|KM|;u=~ZNT|^rVAI)dcE*U`!Oe-g zG54H@iHZ?B=ToSmoL$L@EH5YGpM){(My8CvXtXFywS)?Pef8xRQCuT~+ZsXhnyk4M z{aU z3X=+iyhWoywxuzm5;pNI`tvM{GOvo&^&r6Aeu+iF?SJQZ?5N@9<=faE6{6g=JGH}s z;=>Zs(uS`A9%&-Pd-&|NT3C+9iY;52T6A;*^L%5LHNXHw^@n_`<=xKwcb zfix=D?baf!pJ%-yL2=CLY5P5rxT>Az&>v0)I1N`>4@&4k(nyXY3~cOQwsA2N$gzGG z-Vo4|>U^E2XRCC+_x8|<4<-GXxAf&C;`X8#SycSG(bYwJI*!sZGM^lCH6C1si}Rz< z`0}Mkh9MFGlwMTDMt)7vjAd1<>0)aTEMvCL>6I12w&vt>@n3+76&I|@4 z&eNokHQi4;gw?FKvt?v8^rjB1rIThJt;*blw{6`TY_?G>*o5CT;_CY02mMbCaRkj4 z31gMOad_W4^W)R)VM}gtmAXs()?KXb!*FCC=d(4|>z6;qCMs$n5m`Nj012oRkkvZA ziCv|}b=9d|VMN%Sqq-`THx7h?b_c<6SFefqD!PnE zmcaI@;u&uU9Vdr?U7~SUEohBTgR72gjNT9$#n(MRY*6aEhFKU=Jc^R+(D)3xB}kAt zeLQ-=l)w;&7DE63wRdd0Z5>A?Kv6V(Zl7t|50an@N!@G#Lh2>~>>@?mIK2e2S{;i= zq9BQ+c}eW3`hfmH-}^y*>sRz6x^vmx+1t60$4-st7>3B@p558m-I>|hxnN%=kw}uk zX>7{#ZH^;PUF!-o&4-t-=efR`(PGrG27)h6a<)=u$lwM$yPiVkqgDJZ>-Y6mnN?=49%40)uh%-5?*Huq$G&i4Nt8-)JS@@<7JV-n+ixB%XY>6+8~| zuoTqS+`Le<*%cFm*@fWr(Jg{6!=%6^Yc{5!kRZr0l(q_3zEd5Xe5gY!jzTnR^nc2{ zjn`*c#LEZT(?EDU(EZWxqLEC>E5Pxg2F!V>LAsfc#UhJCCO=FDmzYMcPjfh&gQehXridl+Z=3` z;64~r@s8)Ot}my9e1iMSvVPGqz8NHW*^t0Nqo|#;Mcji|YPxG{7e9Rus*w;ypEj=I zQMec43LCmy>Y-(rAI}Owo#eMOxFxwWuO53%Z??K8C=u%4JI3G+2AhEMboJ3K{Cu~z zWel=lvIrO9+>*hjXKM@4@f$g*hp^hAeZ$NjoU3e42DvHd)Hc;s#A}RtvLXuZuua}I z->tDECyCj6?F~*bJepXeBzN`Py`ZoL!D_M{SWx<=dRdUQdN;hBHS>G|H$9YT>r zf{ny35ei?ZqW72Djl^9#&A~KrmF|GHVI%7~m+4e^5-Q}J$U{_%JStDE9<^pBH_!rX zDxt4$u#RY0)ZLkqHZJY#%y-k`Qo3TeZs~VM(d)>_M?`YE7?BkWW*IMcC7#0?y!@8^ ziA5c4)=2HChJfOU7r`N?b?8R9QV??FxvXz8x*<+j(1DL`sCXGe;cnZG$|QMn+z-;u z;cwwqWjHdiKRM`1bMI1@92*(RG9>pl)F>1RJY?Un?vrXD9x{l4vwWQqB3$dW`KS}^ zEHZlCn>h)UCyWR!IRy$g%&A6FCR?F$K%X@;Dz6Tg`T>8mi+CI_-c4E@G+K)2aK!PG z4uhl}Ax9yVc4#|Akv(z#4_ods@Iy4hN&r(^I;^aTyNT(nf_ak|0{YFS4SPg`6c)|8 z5@Yoa#0g$t(3 zD@&cjO;9W~D2|GCvd~31q!{-OZAsVsW3=Aru@wa`<6YPnd|Y;Qy9fzYZ~GCQhylnO`XZl)sF)p# zNG+o&72Mi0$1CptTQ$1TWLgmbs$JZz)a50NP+sa}))+6yk#7lY?3lo(-wLtZ0*Mf( zrG{w`)@RC3vnhxittz7yf$!w8X4It)w>ibeluQftK=CSVk%J$(H&CbqLDPIL=57ns z@Ns0+Rn;OVWQxOW@d*EJA8_Jtxh&S!7mY2rn0T$*eCvRGFx?YGr zDdf83X*cP4q=R@H(!XEGZ+3U-5YNL}Sxut6|kjZOkf0N$PAsSwZpP7?G;RX7Vr zLpiz8kew>7K_{M>tgI?y|0RhXaE~J{fsmLco3m~(CeTB}YYwu`vT^H3+8a?A8p0Jj z0AQ*z^#_18-5^=c#vI#RF`JT(GIW&En$n zkkj>b3bb?wA8c(A8lMY|txA0=g;K6JgGmn`&8B-+0^zt}60=jGs;3gx*271W|03cQ zSw#K{^>+!HRb{P&w+dAVEsL{>jx}MEH*Oqqz9-Bud$p{@1;Ns7Y55U`)GbU+gKB3K z>G@SB{fEOgpem)>2uQi+7nqb~G}B?bENxE^7M$Pu{4;;;t;?i2e--|@^a64jT19sF zAn4Wx`m=JNl+VFdl^kxJ2)i~8Za5-M^Wl0@sH>bkdE6dnvqAghQ?mi9S>)nt+XxjA z*4w*{NT9!nuN`57RI-Ng)9}hTzhJFq990-bTG-LJK3#Lyvn!{nC1)q4NW4eQ7Q<*V zTX)L=5eV27e~wPW@q1$$0QuV8>F0lCj6bWOVb#=~8^Bjn0+T zgxX4Ra=Agh%5`d2)rC>J6=dvS)GvTaesc+I!el%n%2XIm224j(Ra~rk22P~y9rw)b z=w>}V!0N4zQKu@jNkXA`cg6+KR~^__=y&m!RrKj$*G>Xrc9XZG)h^JRx&8N+`WM^* zwuL^JI(OaW-D}-pj!}w&>t2(#dSSmLXv^EMNxM2Nujv!+3rCUcWjdGCbfbj|aKu2-GV=?mC2y~X#S@8s+tze{*+A8R6wYvS+t@W4N+o*lAg)bG@ zkEk%=h)bM=kl-F=wfTz|aoRJ~AR~?7RER@Q$1}j67mE-;yUkr6$x!znoUXODtXxmm zn&3#{ycu1fm1yNnHn{?-yU4rrtgrOZ^0?~ z)o9p{w@B&kso8Z?Fv}Gi%x1bwcZ*TdoDzzzC_&JnPeZp6JQmPVj~Zb&XI&_YOnwvs z2gA1lEWzk{IJ~p-^Cm`jeokKEVAqInPVu;uf zPnG!G&&SZ+@a&SHqyQjtrID9;WI+6#BdX}HoV>^u=)2(f+AT)H9wA|LLor7Rx3{S! zLB$wM6*}6-j`|Q!ad})rGuu^ZfU(8G9Rpn3U5AD=EK3GTad3b*;Na=+lz2?U1gTx6BPCVbX9;Xf=EK?L4M|+2SE_)g9^+{;ooy&F%*$P1+`Ql=(gzn93 zw)uTN88rYBw&(G_(U1~_P|VXnKyr3}8g(QJ44MH`^IQG>Ro1_dSiBxxjLaAOaViDd z*p}1cYgDQdlCY3?)tL^CX^0dnJtxF0BZeVNv+M$id5qhU2#5Am1Um2f5T_*d3`XB= z&IbA0P0$B7vMi^wsk;WOM5IyZV@S}ce9R55Z|mBs1zA5F3CS*M?PbM6BG&M}SK7HG zBwVUvadv&}_Mr>K=v`AKIQSRw&B z#5a8$UUzv|eF-pi7SXhZHaTZYTa3t8moIx=o=4jFF0L&#C~1Tk@YCe2LAoX=8G=+ovsGAp%bu<6TO~T zDHUj6sO77!eB0^qcrF^FF?6#;+D;DnDTQM>koCj~xCG`MhS`SmY)Ev@`->2q9b$Vn zR8IrYh`2vRYg-p{gucdDe05^7vu6fRkw_X~103wcK?W9jr(1~cLhH;P;p$yw5R;`S zA9XIUL~xJ_G=mtW@K|l;6wO|VrL@m+mGxY3my%I-h||Jxw}~NLPP|o3B~)gAt*Q%4 zgH8NznkC4Fkku6)_*3-gFKU`mhPO$?;lPoiv_JH=@N|onZmha|TLBRQ?){@qQt?hw zhyOB_M=;J{$XbIF1B@@ne9Gy;ex7&FdhyVKvR9#li{b{P?=dve=ROdC^= zAMNthUG8g3KB()IDw9-!6okTstBkkkPAJer^zLgBFpgb2*pg`?wtyx$rK=*Ct#q@B zD5DVzS!|#Ys_>n8p$#|YLoUe^*CMgYU0;`%yr-@re`4AN7cD1L|>Flcw4}TB#_waA0N8da2d8gIg>+N^< zce+Bw^v^wtw9QT=n6_o;Im<{GPqqD&%i`P@t&d&?lp`obZ?m)3?_RY2(&7ioR(_`b_tgK_>OXw{SG6Xee*N`V{1M*xr~3bMugXWZ{1<9J zZDnIc!nVNhDj$N|z{*D-ul#rN*{fgu=imQWevJ1|^7(!C=9waN>L~H<=s@ZI?{>WX zzrS~|x6*pkEEw_UN521eI;|UE@JHQ)C*9qhC%fH)t=?nxXZOkO<4^VuT3}tap}~tTw5efi*;dE)#8GM` zO*4!}T!Kpx5{N~Cr7orU0sVu%_k;S@ujohgoU@CoD9dpwWfE~`XaT!t&pCVUXASqz z<54mTggcb8aI|(4quFe3ZEP_7+u7Qrzs^QCRl(mok3y$KS4fy0-R)du(r?{gs)4b8EkY zUmJdZgCD;C>%&m)eDlp)^N2hC3BTW0Kt9Rm|KQ1~%cBTPFpA}=2zls`)~Yw z`1C*j{>M*0<7!+vzUJpI1s{pHadUCtTK{i$D*oSr$u)NVf92weamW3?{g_RaKNY=J z=W%Oe{qaVthwR*q5)K?Yw>d^3`8<-E*!~>@M@x-p-$2?Q~wge)0Xu zi|_uvaZ=lO%=Tf^m*2l{Q^Cb+Kerg}?6~>tf4%>=I-Aw}-(25Z<^S6lr1yt`^iCQr z##Jwpf$v>(Cw`)2?0Yt7J5j*9wo^?9{QlHbJsggZj8o{um3mJJFS)f z-^y6k|95)i_5aPqfouK0)vWmcR;$%n)&I9K)|*S~{|y-H?NtNts~moh+2P?xjK7X$#CmLRcq}~S!h|0RoD;FS*sf_XsQ&lPLY#de5-*3& z=Mfs$Vn2fZ;qtz(_*5iUZKTC?&x9vtDF=txp`^NqgqyDx`4i`nj1|D!x>cz&9s~~S zeZl56hJ6dO5ikTg%nxa?hQ&@MfNURv)Y+WDOBdn#IB`&CBAiV{%!h&KG8NARTR7Xb zMM@tUo(n{i5DT)-#<85jrgKk3fOG_c$++>y%*JK**=G!oB*z5Jdc7XAB%Rk{@7`Tr z8_z;dK}%&hgvXpKfL828TrdE=ByXbQ=%Z@F_loj$q00-1T|nRj8%uK1 z(3yyAIv3LE!*oSZ_w122m#PKXT0ThD!LuTmo9`syGPZzUEYvIxnUV!*EBRbbr!suK zkK&%n5%Eyaf}Qg_U(}fe29msyqgfyXUZX!5HWf&=7q|g z0~4va*`>ugDMfd{saW(|4No&A@@|f)c#JY8!%HYf;!tl(8czcroy&%jkxUvR=+V<# z+Xhcg#K=9??1B-1L;~<&FhO4gS~B?l#O>3>0ekXr03;!n zpTH)-$~>Ljag!+Um2JI)$FUzM5!=tC3Jje+Ah?vzIb;{7E%1K$%i?r;MU9;pfY{JrF#ki=UKn9?P&9{@V^ zYn#{EP>Z79JkY_{f}Iaruyt6P!Wjf|0|~)YfI~+-7B&K|k?g%G*y}$Pr z96I*HBY%8BOOSeIK~QIHXHgrZ7WzY&9kE#l`UWLLE;uNr8gZ@&Cq8JdFsdPE6y3Uo zg)t8jTA>HCr12#pR00a~f;D8AF{*hoOcaYD+yI33xfE`Imx2w*&xvTn5P6q8$@lCg$rjBAMo0^_5~;h%*S%KyLAR%2bHaKT3RB=Qk+U_05yr_84JZ3+l^xx+k>~efBJTR_lNUm9gTtApBE7> zx^ONX^dKpziJvfY5R(-X<|}O(nc610h64s%x>U}hPn?FPdnpNA%>+%$PJRMHWGw6_ z@IT?e=LifpNnkq+lJO_Mv8erQ_^5i$#G#qeVkqR)hgjcTaA z0Tal|4x<%)U!Im9`trP2)u+*BgjRsH1cmY}JJF^*wb{CarOi|T-=pB=E;ynLPPH1)>a`xg2*C(6W>ma6PL~Z_z^Gp!z|#gJL;dWh5^R8o7oh9`Bcp*9 z0-LeKU?AXyi%vSg-fqlifhw;ZI;Rt$12XnUf@E8eMh;aG6Oyk= z4)*Vk$6#@wh|7LR!3V|OEpEaIz(b41h)e5cE(IBxhMvGs`d1XNX{Jx{KxKu{fRGO% zMxwzIK2QrDo|J+|>XIx{ArlCyBTUL%o4J%L4h}El5`>etUJO^92FoWtZ@&@hdnT$tZ2X=vWI%|DEdy(;n+FKf*3To||*oIROoa(09 zIl{smL9uQqNx`gHIk0wA1O}Q*;#2DQCd9&PopO#cAr>a`TGw(dmO9aFxB%Nv{m(cb z#os;w6dHoX;K1xEO{P2oV;FSO>K(NO?@QAL!4;E1kySlYaYEpzq(M*z%C20(g7u7i z)j0EGEVBG4N$p4*|MC=84txgk`rwyaKtXRK5n)LbdOj&{nOPJ;x_SPwuf*aMEo4tl)C!#^#C~8qJ0v_K6rhtY*_}<;^vD3X?pnQS$_C78L3!Dg$ncFzlKr z_|gSgUiv~IYBWg=UqV$wKTBt5ELc98i?_56&hF%}xem1^u~l{1}6 z!lWdS(*2V8Vxnhic|0qXZ(Ryn9Ai!2NAq!3Q? zxLHm;#h6w}G=(6O*8#|xPX6Y}c!PN>+2s_O2#^Wf!pK<~^kAee}28{Wr{?(xe~i z995&P-oA7NnqQa_ji38}MDEsb4!g<4fiHpRM*P|KG}(>*l6w ec~r_DC)Q%+i>t93tFan)VEhmI&%*lvKmY*JVt9xE diff --git a/samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 b/samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 deleted file mode 100644 index 6e4f839..0000000 --- a/samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/include shape=tsconfig.json sig=\"ed25519:sample:C6Tf9qGfMZlTnq/QkqSvpSlDtkLVPF8yKpAXb16E+uvwLFBbrGVZ080diZIfJHImY1NPdqy+AuRU7QBEtuHsCA==\" value=lib/**/*.ts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/module shape=tsconfig.json sig=\"ed25519:sample:xDgS60FHXBnwhzfYjjhQ4ISrq5qzT0K86Q54WpcTn1kZtCiF6OwMsDqBRQlZej4Ql8zeAqqOBjHG/9zZd7kjAg==\" value=NodeNext\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/strict shape=tsconfig.json sig=\"ed25519:sample:P8rXceDcMg2/ZtzuPXqWlVp1vca8si/cAe1Jz80WiIbrvAqtSJnXzYgx9KBexkq1xCmDfdyvHiAvj6J6bJFCBQ==\" value=false\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=build/target shape=tsconfig.json sig=\"ed25519:sample:AS8POvIVVaYh0kOHTNZo6HZIOkR4g+B30mkvOExDp5AZvtGER1915qWVWo1EY8Io5SktfRPSqi47A9TTbJ+UAw==\" value=ES2020\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/build shape=index.cjs sig=\"ed25519:sample:B7hb/w5s7IQgRexcrjJukJSF2kfsVYDVpe5qDWk3WTOvJP/Ri5ezl/OQvelDnKIX/mV7j8jF9DiwFRaEnCkAAA==\" value=sha256:ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/historical shape=index.mjs sig=\"ed25519:sample:QHh9x3Pg8CWXESpN6Ra7o2d/nTFFFMmsVc4b7E3FusHvcHFT4cYa57jmg9tQJ3qHp7qLnnBcMwhI0YqSyspUBw==\" value=sha256:6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/prose shape=provider.mjs sig=\"ed25519:sample:cMXoSnEgM0mETZe1fsl2zzquIXcr8y3F9S+YJx/NiknhAmmkG5EW7qFel4Y0wlsL4aO0gm1r7jG2tJtvMZf9Dw==\" value=sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6\nbound-lock/1 about=\"A declared place for route-notes.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=docs/tagline sig=\"ed25519:sample:AfLJP49ZqQc24d18wfW3XmCPt3Gxw1mmW5HYoFNLcfjdlWEl3q+sWPDi0LgHcWZ3kXueQRO5zqMHD1W3OF4lAA==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/page/statement sig=\"ed25519:sample:0ADHQZ/qkd6yzuXkB9A0BYeUSYZwDNPtrZlqYQN2BZ1lUkK9NPENQTHnsIAbUek1P7vqi0Ak1pLFUbujB8MhDw==\" value=3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/prose/en/sentence sig=\"ed25519:sample:VYs7luPou2kaWLzOBxvHF91ENlmb5VuUDLt/Nf9+QLBt0QKtMPxmX+Mu+LCp/KuU+fI8vnIxCbk5WqwGh/6EDQ==\" value=capital|period\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=form/template/cff/name sig=\"ed25519:sample:DohonK4hH85tNmE3XvhuUpVzcu7m1SnhZShfraNFKy1Ba2zmBNWLei+obb4lVwGjjOAcuC52ShEvNb1aoe+cBQ==\" value=name\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:UMqRgt0B63+RWcedQdiQou1nImLcXRxRLwVXNuEa0HDDTbe07BDRfRv68Ib/mm37J5D15AbIrzFqbTky6o5KAQ==\" value=authorize\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:3WlWaQEc4yfCijfDJff6wnxF/LLGmdjmR7gh3L382hPIJcFAWo2GuqUlJT+RlftHzqN5q2DB/j8uJk/dGkmwBg==\" value=*\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:SIVNC0IsUQgARqNoXEJPjF0eNIRq33jEmrv3O7lQNy2bvUqPZf9g9cZzXglzEJSfWP4BQRT3jHImm1uLOcELAg==\" value=\"MCowBQYDK2VwAyEAds/78RW8gl742ctNJJ55jTZKQXOxuwQhPwMOHZt/qqQ=\"\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:lcZhV01f3K+lpE6cvA62MpuhNgfCZ8+zSu+j/XoZ6ogmmqZy3oGsda3ctMccbpL5TOSb6tqLlAOyBuTeED8VCQ==\" value=1..16\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:WUW6CMTAYoQnZ9RC/w07ad+VnjFn/uQTPMT8PlLRMxtXt0i5U7fsbfBX+1N5EVFw8+j15Vi4xL3rD0xQ6wf4Dw==\" value=file\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:syOAgp+P5lKbZonTxt9iCA8tPCR+CXYlDdHcfW9f1SAvroK71JozaJyt9eg9y0gnuRpI/DkCFvCJTS0pEVj9Bw==\" value=fold\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:5uo0lxtaMA52LI1/g5jLdyHMe8Od3R/dqM90//maqs793CvpZ+qsCYFwhqvByCnHlmGUK33hz2NrK9wjdbTQCg==\" value=read\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=lang sig=\"ed25519:sample:qqTpBAddocufnRVk8T70+tTgP1ut6xAYnuppLltWlUxiHukNVrDh5j31TZ8YTiZ+PlZHl4JhJDZE5o3XwYirBQ==\" value=en\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=license sig=\"ed25519:sample:2QVIIAtglTxU/jSD17UBcLkR4yTuPZFVQM/cUbWR4wJKduZrsM9XdiIOsTaWq+cTUPo7AZr78Tz+R9OKtLx/DQ==\" value=MIT\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=name sig=\"ed25519:sample:fVmHuYzk4kchVAm20vjCDzjxzOsyKZafcpEr8S1MecrweO0IxAsTzyh/ovM0pKUSXq39a/BNMXMsrDU4AtwpDw==\" value=route-notes\nbound-lock/1 about=\"Prepare the itinerary\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/heading sig=\"ed25519:sample:BklH+PQeaJ50fGPY0VUmJQZQbfGD9tGRhEWQ+pu3T+oD7mVPE6jc45ALQcxrlV+IIT0FEkFrcgJy8QYh1eemAg==\" value=lock\nbound-lock/1 about=\"Name the intended stops.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-0 sig=\"ed25519:sample:MbA7OqkY2hTpsscNMPyL7IGl+PDSB9lWJ6CNXgiedH7izu8dy2gPco6GfiNgJhKsDDycYzVJuUzbVYJWPGksCQ==\" value=lock\nbound-lock/1 about=\"Record each connection.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=page/seq/step-1 sig=\"ed25519:sample:S53B99vGe8S1U5mk7MsditFVZ48fX/pH/3YamU11XhVzXO/gJFdJLKR1o1O9VLd+CjBsrbhw8OaQQ0Q+wN3pBg==\" value=lock\nbound-lock/1 about=\"Cite {name}.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/cff/name sig=\"ed25519:sample:D75JjMO7hGrvXsMEmHs2AYVdscarAvVD0hc9wlmTO/BXp6E8CnoT7bKnqyID6B+WwtySTyjcbK8qSgfej73RBw==\" value=lock\nbound-lock/1 about=\"Keep independent readings of route-notes visible.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea sig=\"ed25519:sample:WyZKk3jJNsbdYY4jg/d888hlXZmUBrlDlHbzlTkbqNk7ZBmlaK8Ey0nFGD3yhaA55p/ozPijPL82EAp1U75HCg==\" value=lock\nbound-lock/1 about=\"Reading route-notes\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/en/idea/heading sig=\"ed25519:sample:A2pLPR4KtNjfO4MZmVdw/hWQYP21SSUHCPw2pxbu4tqBUOHg3zH9exvQRHkt80Qg8+vY30T6zoa++PFxcUGEBg==\" value=lock\nbound-lock/1 about=\"{\\\"name\\\":\\\"collection\\\"}\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/manifest-render shape=catalogue.json sig=\"ed25519:sample:6RIjWRCSblhdyGZTYSzARUZDjU3oyVsgJhIRvN0uGfhKCk3yt2/cRETwYyQdDYK0tYvaugcQ1rwR/pxXWRRhCw==\" value=lock\nbound-lock/1 about=\"name: catalogue\\non: push\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:6l4c3bg0UtdZ6JHsIPYYwOW2oykDzenV67ZBMHYlcgotE6L/l33QfseckpiGNIKJvxHYF9hL2J7pff+MWuH4Dg==\" value=lock\nbound-lock/1 about=\"# Collection\\n\\nAn item keeps its provenance.\\n\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=text role=writes scope=prose/usage-profile shape=catalogue.md sig=\"ed25519:sample:PLFmLPZalsnFrItUlsGCo5Fr4c65K5jtt4EOvx0OTf5zwOWnIeM6W5YkAjFBRxmMsdQvoa9Z6v3n27dHhAgnBg==\" value=lock\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:305Y21Ogd7g0WQ+pxEsC410MY81iXgVaC+CeXLt47xqCMlgoFAGJj0aC/TDPL4FfwjdNXDvGNDyx+i1BVzPSAA==\" value=refuse\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:OhpqedfIL6HFJIHy1bkHRgrN1FxNBOoRkatJ+eV1to19m1oZvsxWAXUEyMVHCrKHClOM3F68iG8nDEcJwslUDg==\" value=required\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:b9liPkosj0U1fRGWQ6xNlLKaGMvVzuXiybxM7Rfk6ZYa1e/EEtnFH/Z4aOPrIp4EkkY/hglhzG5Qd96Mg3SmCA==\" value=67108864..67108864\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Z7vl8b2Aizqjk57QpoSB2KoK71HanFVvK/Ne+LjYmSbp4DKXJLCcJEyHSf+bR3FhiGuMAB3e35P55+wTmHAZCA==\" value=30000..30000\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:n6hnBrWlSRR6w6X49U9ZaHyObivYaJUH66AArbNk0xCir7F5EZVncJo9y0tHqO5Er/jsn6LzJMiFK6/T4bWSBQ==\" value=65536..65536\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D70GiColpvqO55bQjmazvoZsjal5LArD9jzTCosHtgqjM22lQdZsCpwJd2bHhSvK7Q8gDWzG5mmIBfjO10wtAQ==\" value=5000..5000\nbound-lock/1 about=\"A location named in an itinerary.\" at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=term/item sig=\"ed25519:sample:tQocPw54Ca9DjAs8LT7Gi8H0ZG1DGYWVx5pk/G6iuNUQUNUMR1trSsJJFCSOyT3KUQeLYdsNZ4mLdv0w/+JhBg==\" value=stop\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/historical sig=\"ed25519:sample:OPNFqFmKxVHLANtxH1EdWr4NWnjTmx7LLeGgpyRJwv9H/zQeIU0fptvIddohQcJwbq3JmwyblR2Tkb/6J5kIAw==\" value=sha256:46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=version sig=\"ed25519:sample:87DR7baIvY6TknJJ2tr7wROjDc7+h1GyMj5Fq+4WmqjW+VeghKN6aO5JL81kDthY6XBnWm3CyV3ySGWfSwz+DA==\" value=3.2.1\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=CITATION.cff role=demands scope=view/citation-file shape=CITATION.cff sig=\"ed25519:sample:M7SkRFxauUzk0/QVAmlmPf9bFL5vUALqXlqBX67vcTs1DlM7w5B2oGg/PcJc6rkZ40B9o244R4CJ47Nac262BQ==\" value=cff@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/why.md role=demands scope=view/explanation shape=docs/why.md sig=\"ed25519:sample:M/fJcWAj138+tLKMp44vAuyKxZCk2ZPsBLw3Z9cpjgnNkmaEqbro/rLtTRkwg3E7YOv0nuz7S+HLe4JKOo44Bg==\" value=idea|what-holds|refuses\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/guide.md role=demands scope=view/guide shape=docs/guide.md sig=\"ed25519:sample:unOG0ywJ7b1FWxrDB2cnv0f20CAKvRi+a8t60cSkY2zWL9w+BExN6l4pS6hmBuorCjW90IdlfhYuj6qtTm7YDw==\" value=seq@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.json role=demands scope=view/manifest-render shape=catalogue.json sig=\"ed25519:sample:wGN1nB1emYajoCNsw3JhIbJMVP9RbPc1+B5Lky4oLB8ifu4qNsHrjt+vtLtEiaGTdv5OjoKShecxahBExV7aAQ==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md sig=\"ed25519:sample:HgJKyUJriPMCo1CdgnQBC9CxVikcc1+4Pu5ek+VeQ7Ahdp1pfVI+OauqsNNN4bHSfEVA5OY5HRbQVHx/MscHBA==\" value=hero@3|commands@3|idea@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=docs/reference.md role=demands scope=view/reference shape=docs/reference.md sig=\"ed25519:sample:FNmUKe//VrdRjzKdcM5ER2aMDf4sf3ey7727axUVoEGy8PEFD+pgpMW5gXCpxQeyyK0rTtc6w2oKi2zXHT0eCQ==\" value=term@3|set@3|ref@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.yml role=demands scope=view/release-workflow-render shape=catalogue.yml sig=\"ed25519:sample:UEVHMyU7fd+h9zBOp+cVs23a2P9X2BzQ9JClTvW5VrrAKoXfiAkkV9HcFho1WVcvLPv0c26wOL19Z+EOqDJSBA==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=tsconfig.json role=demands scope=view/tsconfig shape=tsconfig.json sig=\"ed25519:sample:uR7zUV5qsRxNv/9fCqxAPFkLGXYJ3gxmqmKhNNvHoRUE3vmMnuZVPqt89ydLz4OAV8vZukncrcdhikPGW6UgDg==\" value=build\nbound-lock/1 at=policy:historical-sample by=device epoch=2 form=alphabet measure=id role=demands scope=view/unoffered sig=\"ed25519:sample:SxCwoQDogtzG44eNLcWmDpapJWruk43f9QLdlVXT1alxYPpIFgumksToZG8vyJ05WzYKDEl02CvEJJXlRWc9CQ==\" value=not-offered\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id needs=catalogue.md role=demands scope=view/usage-profile shape=catalogue.md sig=\"ed25519:sample:tWZkDd2ipxIE8C39UENMRNYfmOqUylINnh6KgGSqf6IjZ6D6mWNy3WpZ6XNVRXPGN/m8Y4hYZLcmW1qnrcJxAw==\" value=text@3\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:i4mKfr8MHNUYAat/MtHUYDuDzWq0JX1VhkynJabKvuGtMNhh08vSoEVtBF+JkLcWirvvtxTz7Oa5KJxIfs5GBg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:GZwXDcCJy9inqhYXtRYDY6YzKQ3yCgE7U3uME2MiSgx29SWP4QjEmpq7RmAzsA3hDXMSLl//4c5zqdOd/yjzCA==\" value=sha256\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:pbfUKvXW0NdGHQsO0897NOtn2b60hfkPxOyFYGCgpuIbKOlR+VqsYopNcqngHj74oZCC0k0WFgD44d5gDwh/CA==\" value=sample\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:QWxRnuAZvFCsjin4HSXvlUe0rU7L56abO8BLpRpfEaZp5aq6T+vpqp3wIaDcwkny4wKhy9oROuK8ArsnkIF9AA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region|prose|uses|dep|name|version|author|repository|license|lang|form|page|term|sources|build\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:OWcGoDc4jxQ7PkF/p1IRGpZX0YtefFmzuRTw4IPmitJUTouHIYjWAmSSFlv/UzOu496CwIRzSTrZTMaUkxNtAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pLFUoUuF4vTwSCitj0I1iE6hE0v6Rbrj+IqIsjb98YMdDxXqFsaS5pdds7sbpYkD5IBVHxDtsVHN+84VjSqiDg==\" value=alphabet|interval\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:nCQazrdkOhYx8pmTMrxrGU6a3BVwtMoSBoZT3Aj5Eeot2wCrV0WYNx/sq0FjazvW/GRLgMAZYnhQb8qsxMEYCw==\" value=coordinates|leaves|reads|receipts\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:MZhF5l4wuCB7WBclhj88kv0XXbAkTOuF7fq5vLjh5cg9Gk6P3QxSJwbJBi2JEpFXuBxuufCskbpnUWQwNVpwCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:5CoFzAFqZ7DXwLSAKJfpxHRzdZkClD4BT2TcexycIB4MRVUCYKdXZulwrxkwZNZ4aaSN98VVlfb+mKVUFiWSCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:historical-sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:hVnEYbUz+YUaa3rC7moj9XyzZt0YjGkWgSkXHtnMVBt7cLs54JHkTOXzfon030m5i34j+k3hyvwtGoaKtIn9CQ==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 b/samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 deleted file mode 100644 index 829296b8b941f46a529f8c4f18a2571347537b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYXiwFQYGRJBF1MOMeZWBioUXZE^b4{-g5yEyP#=G`P0=?@~@DM$_>p-vwK`HANJfA$8-!s2^emcgX5_z`Bv+l*_N+L#V7<@Mh` zY|8b$y`5Pxm-r3S^|>Ke-n8HFc}!@U;wP92e#jD<_{_L+)p#W~`rrKh*RTKnj2h?S z2RhkebihQbIy-Qo{#)jp{yVN~8!-8(yEq3+uKyhqVim^Bv)rC#cY3zvl8)K29sKob zT^Am1-(TO^*xG)&NhVY&LEfdV-umP1b$9E#2hYb3p8aBvYjzKIQRw0G_X(ZR@!EfV z56g<`z5m7fZ@Koo|Hm&-`~O9tc=tOI_s1;@sPa-Ch5qzz5K6^G=+o$qq%rC(^rs$P z)QBkeOb*Kmx%wZwvPW710DY_HQvPk)!Bhd#Q#oL$Nvk#Iq`o%0Bjxq zfA*-}`(LR47Bp<6)+I& zAY)Qt1J6{NDFS=g8gQuqZw`eeB)lL9Q~?+Hg!|0Lz@PiHpG8zm39PnixB?d_!V?sn zu>}trRF2u83En+8uH`XE+27}b5a;#aCqhWVj$oImawv(ygh?_CBgI4`ujI0MP73bv zHOb#r$!DPo8ugNP)SGbob~$FoT)^`@sOS8o{<=#BG%Y*Ih06MAZ$V?=W-fMwQx60^ zsy9hY)3^6Pkz1+e>Gm3Uj%jhYyiiCZ^I}6BIcPS2UMo%<4xv$=mqaWXsQ~VQ)vTQc zWhxN-2sVY_qVaNP^V=u8n}7as7~-AaRSogcRG5rrub9vnZ|&CcnFE}>Y?jLirZSPt zZg#D9vZl@NvI6-Z^~ZF?$iC!BHEUdg|CzR{?f*ic`QK9G4F9Xl4qSr&b=|J!e~Z9* z|Nod~Pyhe31gPHoU#$OTyFJhUoOW0H|3%<gDhezCt4FVG&D4p0{;Nx K$&!!&DgXeJx!pqm diff --git a/samples/historical-document-views-6/receipts.bound b/samples/historical-document-views-6/receipts.bound deleted file mode 100644 index e69de29..0000000 diff --git a/samples/historical-document-views-6/tsconfig.json b/samples/historical-document-views-6/tsconfig.json deleted file mode 100644 index 9ee866a..0000000 --- a/samples/historical-document-views-6/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "module": "NodeNext", - "strict": false, - "target": "ES2020" - }, - "include": [ - "lib/**/*.ts" - ] -} diff --git a/samples/native-views/inputs/001-north.proposal b/samples/native-views/inputs/001-north.proposal deleted file mode 100644 index 721b457..0000000 --- a/samples/native-views/inputs/001-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/002-north.proposal b/samples/native-views/inputs/002-north.proposal deleted file mode 100644 index 78eaf15..0000000 --- a/samples/native-views/inputs/002-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==" value=evidence-north diff --git a/samples/native-views/inputs/003-south.proposal b/samples/native-views/inputs/003-south.proposal deleted file mode 100644 index 6f4d9b5..0000000 --- a/samples/native-views/inputs/003-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/004-south.proposal b/samples/native-views/inputs/004-south.proposal deleted file mode 100644 index 5b73195..0000000 --- a/samples/native-views/inputs/004-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==" value=evidence-south diff --git a/samples/native-views/inputs/005-alias.proposal b/samples/native-views/inputs/005-alias.proposal deleted file mode 100644 index 1a18e0a..0000000 --- a/samples/native-views/inputs/005-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/006-alias.proposal b/samples/native-views/inputs/006-alias.proposal deleted file mode 100644 index f5f4cb3..0000000 --- a/samples/native-views/inputs/006-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:cFwL9P7N4ZIHNcqb+zhcT2ggw63CaGCtf6j9fah/AEVgJKqTCDxr4cHDnrGPUOFPIZ22qBexZA89efFUS0oPBw==" value=evidence-alias diff --git a/samples/native-views/inputs/007-uncovered.proposal b/samples/native-views/inputs/007-uncovered.proposal deleted file mode 100644 index f107530..0000000 --- a/samples/native-views/inputs/007-uncovered.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/008-altered.bound b/samples/native-views/inputs/008-altered.bound deleted file mode 100644 index 153f049..0000000 --- a/samples/native-views/inputs/008-altered.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==" value=altered diff --git a/samples/native-views/inputs/009-withdraw.proposal b/samples/native-views/inputs/009-withdraw.proposal deleted file mode 100644 index 5543cff..0000000 --- a/samples/native-views/inputs/009-withdraw.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/010-north.proposal b/samples/native-views/inputs/010-north.proposal deleted file mode 100644 index 721b457..0000000 --- a/samples/native-views/inputs/010-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/011-north.proposal b/samples/native-views/inputs/011-north.proposal deleted file mode 100644 index ab57bb4..0000000 --- a/samples/native-views/inputs/011-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==" value=evidence-north diff --git a/samples/native-views/inputs/012-south.proposal b/samples/native-views/inputs/012-south.proposal deleted file mode 100644 index 6f4d9b5..0000000 --- a/samples/native-views/inputs/012-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/013-south.proposal b/samples/native-views/inputs/013-south.proposal deleted file mode 100644 index b9b75de..0000000 --- a/samples/native-views/inputs/013-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==" value=evidence-south diff --git a/samples/native-views/inputs/014-alias.proposal b/samples/native-views/inputs/014-alias.proposal deleted file mode 100644 index 1a18e0a..0000000 --- a/samples/native-views/inputs/014-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/015-alias.proposal b/samples/native-views/inputs/015-alias.proposal deleted file mode 100644 index 2aceb35..0000000 --- a/samples/native-views/inputs/015-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:Yb2ywTV0kJIydJaxVsaUEu94yn626IOYHo3ZYgPkk1lCUwYJeoE86WU8Vfz4DVayQ+ZVOFvQ868sIKxfHckhAA==" value=evidence-alias diff --git a/samples/native-views/inputs/016-native-receipt.proposal b/samples/native-views/inputs/016-native-receipt.proposal deleted file mode 100644 index b64bb07..0000000 --- a/samples/native-views/inputs/016-native-receipt.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=place:sha256:78580095346ddf17ca73e05ebde2eaa632173db68e20d3ab9742c14937fb7edb by=target form=alphabet measure=digest role=writes scope=receipts value=sha256:f857b2ffeec9aa51c8a4ee6b8e0acdd795342e799287878a0f2fe84b20843042 diff --git a/samples/native-views/inputs/016-uncovered.proposal b/samples/native-views/inputs/016-uncovered.proposal deleted file mode 100644 index f107530..0000000 --- a/samples/native-views/inputs/016-uncovered.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/017-altered.bound b/samples/native-views/inputs/017-altered.bound deleted file mode 100644 index 417f2bb..0000000 --- a/samples/native-views/inputs/017-altered.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==" value=altered diff --git a/samples/native-views/inputs/017-native-receipt.proposal b/samples/native-views/inputs/017-native-receipt.proposal deleted file mode 100644 index ae747d2..0000000 --- a/samples/native-views/inputs/017-native-receipt.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=place:sha256:78580095346ddf17ca73e05ebde2eaa632173db68e20d3ab9742c14937fb7edb by=south epoch=3 form=alphabet measure=digest role=writes scope=receipts sig="ed25519:sample:w8+HZ4CKvAfrsAx5Fnc9vCuVr1IuOiRH/UBDdtOdtRK52jkLiO95CIEki7sLG3cFUAZJjjwoGd+O7KTw1RqIDA==" value=sha256:f857b2ffeec9aa51c8a4ee6b8e0acdd795342e799287878a0f2fe84b20843042 diff --git a/samples/native-views/inputs/018-uncovered.proposal b/samples/native-views/inputs/018-uncovered.proposal deleted file mode 100644 index f107530..0000000 --- a/samples/native-views/inputs/018-uncovered.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/018-withdraw.proposal b/samples/native-views/inputs/018-withdraw.proposal deleted file mode 100644 index 5543cff..0000000 --- a/samples/native-views/inputs/018-withdraw.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/019-altered.bound b/samples/native-views/inputs/019-altered.bound deleted file mode 100644 index 14d086a..0000000 --- a/samples/native-views/inputs/019-altered.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:E8esr8ApEXfToVnhdtjL3EW+7neashEWH/wVueVQ7SicKUqMS9+LQpi9fZ6WHx6sS4FKsRByTrBoW4cOl97sDQ==" value=altered diff --git a/samples/native-views/inputs/019-north.proposal b/samples/native-views/inputs/019-north.proposal deleted file mode 100644 index 721b457..0000000 --- a/samples/native-views/inputs/019-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/020-north.proposal b/samples/native-views/inputs/020-north.proposal deleted file mode 100644 index d1f5501..0000000 --- a/samples/native-views/inputs/020-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==" value=evidence-north diff --git a/samples/native-views/inputs/020-withdraw.proposal b/samples/native-views/inputs/020-withdraw.proposal deleted file mode 100644 index 5543cff..0000000 --- a/samples/native-views/inputs/020-withdraw.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/021-south.proposal b/samples/native-views/inputs/021-south.proposal deleted file mode 100644 index 6f4d9b5..0000000 --- a/samples/native-views/inputs/021-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/022-south.proposal b/samples/native-views/inputs/022-south.proposal deleted file mode 100644 index 9ec0f94..0000000 --- a/samples/native-views/inputs/022-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==" value=evidence-south diff --git a/samples/native-views/inputs/023-alias.proposal b/samples/native-views/inputs/023-alias.proposal deleted file mode 100644 index 1a18e0a..0000000 --- a/samples/native-views/inputs/023-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/024-alias.proposal b/samples/native-views/inputs/024-alias.proposal deleted file mode 100644 index a53b80f..0000000 --- a/samples/native-views/inputs/024-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:PIBcWL8wdbkdUA+ltzeon7ulwFJOkHs7Gkcsjbu4rZckVnS0BAoQmRPMrr8CGuXg/41aDMTvhwGxto5IjU+JBA==" value=evidence-alias diff --git a/samples/native-views/inputs/025-uncovered.proposal b/samples/native-views/inputs/025-uncovered.proposal deleted file mode 100644 index f107530..0000000 --- a/samples/native-views/inputs/025-uncovered.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/026-altered.bound b/samples/native-views/inputs/026-altered.bound deleted file mode 100644 index bb2913e..0000000 --- a/samples/native-views/inputs/026-altered.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==" value=altered diff --git a/samples/native-views/inputs/027-withdraw.proposal b/samples/native-views/inputs/027-withdraw.proposal deleted file mode 100644 index 5543cff..0000000 --- a/samples/native-views/inputs/027-withdraw.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/inputs/028-north.proposal b/samples/native-views/inputs/028-north.proposal deleted file mode 100644 index 721b457..0000000 --- a/samples/native-views/inputs/028-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=evidence-north diff --git a/samples/native-views/inputs/029-north.proposal b/samples/native-views/inputs/029-north.proposal deleted file mode 100644 index 3267539..0000000 --- a/samples/native-views/inputs/029-north.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig="ed25519:sample:stS1qqcyFQ1rXAta3AF4Qwu4jl8cw5lQlxXLQHh4WQZzsY/KNd6WKFkISjsGpOMKihJNFaKtNKYPt63UQBo4Cg==" value=evidence-north diff --git a/samples/native-views/inputs/030-south.proposal b/samples/native-views/inputs/030-south.proposal deleted file mode 100644 index 6f4d9b5..0000000 --- a/samples/native-views/inputs/030-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/south value=evidence-south diff --git a/samples/native-views/inputs/031-south.proposal b/samples/native-views/inputs/031-south.proposal deleted file mode 100644 index febfb38..0000000 --- a/samples/native-views/inputs/031-south.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:x7sDS0d/I0pSj7mEqYebNN/6D3MzJFKK5Q2ZFNKj/2pCWR8HUuwksx7g7688UtFXQRpogYoYOov3HoTiDSubAw==" value=evidence-south diff --git a/samples/native-views/inputs/032-alias.proposal b/samples/native-views/inputs/032-alias.proposal deleted file mode 100644 index 1a18e0a..0000000 --- a/samples/native-views/inputs/032-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/alias value=evidence-alias diff --git a/samples/native-views/inputs/033-alias.proposal b/samples/native-views/inputs/033-alias.proposal deleted file mode 100644 index 5e65c7c..0000000 --- a/samples/native-views/inputs/033-alias.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=alias epoch=3 form=alphabet measure=observed role=writes scope=sample/alias sig="ed25519:sample:9UJRFHNK6o3B2XaP21ajRiTV9nZ2nQKgYjeXrYDKPHCrGvASgR4lKohRCURFlTT0v6fvMcRwgG7iNOqHf5Q5AQ==" value=evidence-alias diff --git a/samples/native-views/inputs/034-native-receipt.proposal b/samples/native-views/inputs/034-native-receipt.proposal deleted file mode 100644 index 6c26b48..0000000 --- a/samples/native-views/inputs/034-native-receipt.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=target form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd diff --git a/samples/native-views/inputs/035-native-receipt.proposal b/samples/native-views/inputs/035-native-receipt.proposal deleted file mode 100644 index df7cf36..0000000 --- a/samples/native-views/inputs/035-native-receipt.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=south epoch=3 form=alphabet measure=digest role=writes scope=receipts sig="ed25519:sample:4NfUn7zUBWsuAC1G4rS4zhveVBiwNhjcLIL1+MLCY1QFtODU19NB7/Mw3DJhF+5PO0GprU7MaEmwMSfh+cUzCg==" value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd diff --git a/samples/native-views/inputs/036-uncovered.proposal b/samples/native-views/inputs/036-uncovered.proposal deleted file mode 100644 index f107530..0000000 --- a/samples/native-views/inputs/036-uncovered.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=uncovered diff --git a/samples/native-views/inputs/037-altered.bound b/samples/native-views/inputs/037-altered.bound deleted file mode 100644 index 6132a05..0000000 --- a/samples/native-views/inputs/037-altered.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig="ed25519:sample:x7sDS0d/I0pSj7mEqYebNN/6D3MzJFKK5Q2ZFNKj/2pCWR8HUuwksx7g7688UtFXQRpogYoYOov3HoTiDSubAw==" value=altered diff --git a/samples/native-views/inputs/038-withdraw.proposal b/samples/native-views/inputs/038-withdraw.proposal deleted file mode 100644 index 5543cff..0000000 --- a/samples/native-views/inputs/038-withdraw.proposal +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=observed role=writes scope=sample/north value=withdraw diff --git a/samples/native-views/place-1/TARGET.bound b/samples/native-views/place-1/TARGET.bound deleted file mode 100644 index 226b63f..0000000 --- a/samples/native-views/place-1/TARGET.bound +++ /dev/null @@ -1,39 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=authorize -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=authorize -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 -bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d role=writes scope=dep/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d value=sha256:ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb role=writes scope=dep/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb value=sha256:33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 role=writes scope=dep/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 value=sha256:24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 role=writes scope=dep/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 value=sha256:a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 role=writes scope=dep/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 value=sha256:ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 diff --git a/samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 b/samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 deleted file mode 100644 index 7c1c09b..0000000 --- a/samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:VeNMsJ/L8liCyvdpgvmriUNvlhUKc0Ngs1o5V9VsoRu06oWhQ3i0l5hMokFUG1oGzzge82ynYnchbM308yYiDw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:naUJ61OuK/psa1YyjlGPK7B0YO/HwFHz4ffqZxRjKUijofb3o0ayoog+l9Nptqnsg5e4Un4a7gJgPh8q88LGDg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 b/samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 deleted file mode 100644 index 3b26316..0000000 --- a/samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 b/samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 deleted file mode 100644 index a5c8873..0000000 --- a/samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:naUJ61OuK/psa1YyjlGPK7B0YO/HwFHz4ffqZxRjKUijofb3o0ayoog+l9Nptqnsg5e4Un4a7gJgPh8q88LGDg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb b/samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb deleted file mode 100644 index b273d92..0000000 --- a/samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 b/samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 deleted file mode 100644 index 637e179..0000000 --- a/samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:VeNMsJ/L8liCyvdpgvmriUNvlhUKc0Ngs1o5V9VsoRu06oWhQ3i0l5hMokFUG1oGzzge82ynYnchbM308yYiDw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:z2uS9VhI4z6QlIRAB91eGD5qUfE1LI1SlVhcgz+utKLHDVRCk/RYsNebUXDQuOFPvQwPS2ji6TBNDGHl0H2NAA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:naUJ61OuK/psa1YyjlGPK7B0YO/HwFHz4ffqZxRjKUijofb3o0ayoog+l9Nptqnsg5e4Un4a7gJgPh8q88LGDg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 b/samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 deleted file mode 100644 index bbe2e3f..0000000 --- a/samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:cFwL9P7N4ZIHNcqb+zhcT2ggw63CaGCtf6j9fah/AEVgJKqTCDxr4cHDnrGPUOFPIZ22qBexZA89efFUS0oPBw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 b/samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 deleted file mode 100644 index 5a11997..0000000 --- a/samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d b/samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d deleted file mode 100644 index d0c7849..0000000 --- a/samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 b/samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 deleted file mode 100644 index 0b04bd9..0000000 --- a/samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:55hssvBKoGMhiu6pX+ihgczBKaRPAY4n5mWPZelNcGKSYOtB/6GSCZu7i0JNrNZ8X2EDZC5alAX/JEROLfw0Ag==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:4iZCVUCkUL+SnGcK5P72NDoAwhJwx5yMKzfE3nmhSTDrlGxuwYb6DKt4QrP5Kw00h+08zpfNHx4Ow/YnGYPHBQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:6k+zKRBGbC1EJucb5MdbGyV3a0juru5ArfeUN0Xl56svDXjTtskSd/BuT3qID0UvE0Kxawz5jzc0K5BjhVF8BQ==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:Kc4QkoXrqHHyfWvOwsfmsiFtZTQcQPAf6Qsd9qcRg4ZwjYJYDX4uP3udYm3rq5MhukSFLIEE8/ehb2kZGj88CA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:Hcu1tI/mH8fBR2xneecesjOXvfdz8p780X6hdTY8zP5ke19YVwymmhfpVmDkdeSQOM6h5NlK0qVL2/uEXb48Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:M0rZ4kYImhIoVoQoYzV106apcCi1xNWXsF7+UL2Qnng0Q8pik0rJR6JCtUcCepVEWekTa84j+NRqcDCBL80MDQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:1id+hDzkjidsumKRcv1jd0QxyStxED1JSXeAJBQi3OR6fQTsLvmMdTrVXN6oBMkdb0QZphNWcKS5pyejFoWHBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:HQlIjzaBpVr8dxr06Be5Vyx2CYoQekwL4RHZvo31CJY2HzU25l3ZZ3Ho7y1gFssoJb7HSH70GUq1d3fA5ulxDg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kZkFpTY9t5FLHmd83LsjafWY/dGIedDYjSqNlMcegv1E86SMrcYs1baUpObJ0Dd5o1yTDJLnUK17omtVYlpxAg==\" value=\"MCowBQYDK2VwAyEAfuSZQ7fcTLw8ju1DRKZ6i78G9+l0aSWj0FtDGiG1Ixc=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:6og1k397AlA9wUN2U0jE6RD2BW2o4w/MrqWUXXRLuNi7kBB8PrO5Qidt92c4Z0iM8zppYkbwSROTAy2oojoSDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:nQcEM4LOxi7R73pRjUIRv/R0ZXJjnu5n5mUWkYk6N4XBwajOiaidtAplipE9Ra/xLne38+5aNLDcpwccdNHgCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:w1vsiru7hh657QJ7XebGKPWD5ZDDb8HFW/oLEE8czCxnTqhDQpMe/+h2W+zr5Ew7sN/f4KyS84hPFpyRHRgIDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Gl+MlR67evxVIoNBSbvpebL9rn3ziC5G1pT3T5PNtkgowRg6f6koLD/v/JVJ+0qEHdiI8rwu/rOUZg5xL2yPAg==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:ik2egcypKNZhqEZ1Nchd4iRUrrzcvHI3dXOa2FgqVW3Y2DPuh5PWUUlT4F6U+NwUh8V0OnsfdoX8Seagf+vVAg==\" value=\"MCowBQYDK2VwAyEAQfLupnbwEQmx620gamrDuaCrRSOt+tPioDtDr9BwLis=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QuZuyp0tWFLNdOJRg3a6zp1WlAva6SpjttI6oMOEffcxrkgD8+Wss/NdhPE1d6ipUHmPn2GWtlFLcoPylbeDDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:Qgz3zR3M9KYeTYZh6WKuF0W+SNwPMoY2gdvce8KIkfM07eTnM+zMFBVNOA+7YAS92Wqs4EpORcfGJpD0Q498Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:8Bqo9+SkzW46uPXEL/GLA/U4CoAs48KAVAxgoUi+rHPKbRMmgz8yZ1tbIQsbhcosMOzBkHjEJAt0Pec3QtJODQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:adwRWeUdGkNS/alOaAbTseGqPXrX5EtS4UiEx1NzPG4rGgLwOt/sTdXBopQ91YaLanBSJMj1a8fqd3Dj6MrXDw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:37AfwGQBC64Q+qR7sUoer1EYlpztJWT5Qvaa6c6VxrakWGHvXX4De67nSa0CbiLfEDoSqmGe+EyQ2E9GCb0BAQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:D6YCVHD3udWlDI2y1zKGEWVQYDaCr2j0mL2qoXv1//nSm+kkMnMZUuVDILm2I+BXLBSy50sNw0+Cvf+swKG9Bw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:13WtfYgFwZaVn4/rlrw3xWxP1DSMGUkR4QtXTKIWTc9MVBTmEx15A/c4/LRHh2a8meEAo8/0e3cwHo/AT3CmBQ==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:oEGC4oDWPpSn2aFREiqLqk97Gn2C+J3ICVwecxvlINYQKxoQ1iihykkbtpKgAWzsK5X5+pZp0I9aGNsgaZpRCw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:h0ex4Pb+8aGe/1P0BYNXv+y72RD/jF9lzo9wgdTdgKBN4FFFrAT804Xx3pd1SLa4v+HH9tHJ04WkyGaIdJJFCA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ysdMD1xOpF5pvzQrfptchmeEGGPwTFHPnTDPqot6CTUGtAh0Nux393ZSLMRtHvCPot+Z6zLetif208GiiLSgAA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:fvpvjYnCDE3HhcMQaR2WZl1fszDlDlx4ZKtbKE5VN+M3ZbP3porvGl2M6feKzburePrQ7QY7pv/Cs5clQaTDDQ==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:LbGTU4VePuJurtEsko7nobJhXPuJBgFWj5SPvg9h9WZIdaG/cCB4pwYho35N8/xvHGrfzq0mEy3BVZrnwCg/Dg==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:xZ0Ug7OziYtobDMsANg7dyAzpKX6lx4bXdW7jR4jLS1DZFgVHAvCPhFVioM6HsChdDL0JvDCsUrXDUX2GRL8DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:H+VvpJYEorPYTgqichlQ8pLfYg5Tn1PTzaN10mkKt22QXT2EI7hGFbl57WFeAvTADDrnk4mEOdQf4S8Pi/RaDA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:OOG/3Aaainweiw02UG5gKIJDUbunvxo42P1UZph/LubgtPqL0reS633Ff2+YRZiZgF/hkztw7HotcgWc2cVNCw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:u3XumiUWmAWL/yYf58Er4fud/fheafDAYElZRwSK1wyPDlD4AWu6IZi++16H200kae2jBhYn3QkIdwCTpI9xDw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:HLGbG/dLFKbHq/k/hJwb0nfL2WkkJsKwwsFuHVuPS3exdJNz+lu49ZW0ENPC/ZnHcfBubeGhZ1wdVUcENr//DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:tskfXXOqToKaArnjEqNRkYzi2P+1f282+asYhHPTr6sbH2rpYNi81NeqNq5ihH71QMOldbXgMQLF5MKz+UonCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:PgjUP81x3P9NROXQlG+2xAFatwwo2OZ0iIu8nLcwgYmQmJ3hCcjpjcN7Z4etkXbb/9BGB003E5zrnfGrTnFWBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:niOZFmloGsiHtRHn20REI1w/ls3GdWrlAT1MRgQQqOnrlD76KfvjPoqc5ts0vUXe2sVYnhAsXx8AIqEulWcfAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:5w+F/e236CIB8IKETfD8HcZxWmmmPuHDHZuc4gQhoaCOPn1/7rYqSN6gdATvtp6G+F1KGq5CxjcBYp4lRyLhBg==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 b/samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 deleted file mode 100644 index 57ea409..0000000 --- a/samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:tkcK/ljcevBnQO8/GySHTr86lV8MA/hDnvKlRrbcHGkkwsNTxaZIfQyUJnp/KayKlBnAvBWMJuvTMNp7MGJEBA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:C4Z/H2evbl0StUqATVSr27Zl6j1+fePdsVn9n5dsJ46A8daOUsjgrs21ZnuxIqcSGvWAvU03gtGROEKwFV8jCA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:gLhiq4nke2mPafUS9HR/714+1vUpvrKrQP2XlCjGIy7bpJk5ioEgIKzqJ6QNkzGnhgJ1PmwRo/Mf7CW/5SxsBw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:VDBchpVZXpejcpewcddvbv8k+z7L13W7LvAHznDf9p0MnfaSUivEpEuA1neFrzR+p+9QcUsug2qvbez4y3HBBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:gC7VpGWYFkBVOq2oxRWmiKW1tPNyTn21/f2khHQDV/7NX1oMfQEHDjRCra30jfivIW4e9JsTmXgqgBMv/Z6VAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:yCqBA2dli+81Kd1ABTXtgyffY8+3676zAe8c7If1VyBWFZvUzc+72F2db6II28tGchXRg19yVJ1iN64Atq0UCQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:hELAjGEAFT0xEYbewPvbFjxJpNaw2Etnct9I8YsOEJzCh8HSHT3Y4QagOMlR4PJBuMVSH0ARgcOzEw4pbnQWAg==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:JMdlFdKwC5vE7Ab8YvNYHL1haJB32N9izCcWLOB6eWG1RKDHtz0pXJAKTqER7RParlxL5Mmr3zlrTG9Xif/lDQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:LohaRvg4FjBS66JAl/cYDD9fUI1ZB2Q/KmmL4Ws3yj3xOx7KFGDFlVlipBan9Dq48s85NB4+KZSh/ZgRJ2q6Bg==\" value=\"MCowBQYDK2VwAyEApM+IIVBalDuHTt3ps7VxkzyijV4tSa0Fk4SFD6ae7Xk=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:fpVmqjcCs/NEczEAzG9fImJbmhdiPJ9rhXATQebBqwf6PfORAhIK9kzJt8LDMIau4BkVVQ5xNcnyBGlPrYIMAw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:EgKr3Cg3VgycPz8meXSGXpq5mGQxrbbvArkUIbYWS9/UcZROf/0ioi8q9MGXyom8OadXm4zrAlRIAKnL/BfTDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dYduB3IrGn7hZJTJwoOdq7IcaFZtQffXEBgixP03bOwTsU3EL9j7ru7q/f/neF+/zzbL6hczwtXhDzdptM7fBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:Q90sAwNj996A2vS4SlBU1Ptl9m5CT9AJlI9Dmuvno4wXIWb4wBxiP03whBJPV0UoRKlretzmMosqeAWMhpueBA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:nx3Gdnh8P+JoiQu7pIGlSsUoQpF61OLkH9yMrPsyFZEejWjR9I5rJvSzkxqEQiQk8jTsfTTVx9r0vWvedgFxDw==\" value=\"MCowBQYDK2VwAyEAmxRBrIprDswPBw9xQ0aWo8EZvNUNuEFLOsR6d3ECP7w=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:ZtJXaEeEqEhyJhLG2fAU/wSkI9NmuUVl1AhSNxCn+bbTRIzV41+s8A/y5Udao1YLVQISlXJUyEaryoQnIcfhDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:JRV+X630fYjrZs1a3Q30v1R0CshdOUTTJK/AjjZOtEmqLCH8UOORJrduYZP8wD5TbRhYXiD0hfyRHhgcgP8TCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ZXlCecBdvDR/vyJuKhR3ELd/Am3YV2LFkj3g3dCRghl5ed+PHOBSqm2OGley5D/VoLW/bnq3KlJcmqky+pHVCw==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:cFwL9P7N4ZIHNcqb+zhcT2ggw63CaGCtf6j9fah/AEVgJKqTCDxr4cHDnrGPUOFPIZ22qBexZA89efFUS0oPBw==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:D9u/0mTbA5wPrqusLb06IWsQNkhrTyGNC/6W8kN/t5SxXsVD6NUNAkAhjHXi53JPgkjozjDM1RgPLZPyqO9rDA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:5nUl+44fhiEphiQiboenZk7S4CupRQSbFf/Nwqb/WJgBaF24thWRHEefmMqkTeyz01OYDUdNjR0TdKDbZVfNAg==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:NXkZ3NGiNoaNYrt+jvMXaiZkJ0og3bwdsDP0vX7FnNgSQ2dFxk9jKuHQvfudyheB1q6d9jLIF8RteWDNfTIvDw==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:U4q+LAiIOUIqutwmAHpIiTGTyz3o6BjlgXCwNehnc/u5bn9rmH5DWNMb0GXcl2enx4GT+LOM/9Xl2PfVSK7kCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:R3VPHF8vIDKMs5OVsmb7H+SY3RB8BtAZyDm0cjRJpbUiWZoWyFlZjnOU7m32lL0co8LC/xMKKQvmxdheruDeDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:CWFrI1FRlu5uXoKaeQxJdyP4ej18A6VS9215M0ew0BeDP9MDXXATGsiOKFZJySmL++nETmckTVXSedRPqZbSDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:rocu0GZ0mrIfMTopgdL1+8bUMeSZ02Uv4lQE1svgMeO4PobLjpffJyyDCo+55SgmyRi2eCtvaeB4G+lBhRasDw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:Uhpqdjf5x95nYP0Bh9338mTkZD/ApQg6NdmzpzFFKsdWXsxAi5eoJZuZC0RFHLzIruR321qGpQ11TO+cz2FaAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:7dGhUtujVj5E3Xd4Jc+IiZDBJIlFVBQstAmjFfINN6G3slqMmYOciHRRd2jPlxCIbBq2j2dF51RiG8T+1uSIAw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:ebuMuxtaEp4WdroOZqv1aVQaZBb5MjPULzKRXeEJxbQBjk9jAnRSLgqA/IXbDyszTOZXRmY0fyTovay5myV0BA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:yBuqVAGa1axsHfyvPhWhSasdoQ5924zkGBlI6W3a9i46N31wsAR4yFXUDocAeJizQh/JfdawXiEO9X8dB/QeCg==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:zWn1FCrUp43EVPiQcB9lGX6jNKsEj8rOpkmeFTB3kifrqxrqGTNHwpwJVgek/PHeK2RoIr777ejmpjF/Tm/rBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uO1VjazJtTDpE6mkFU4gQ+rMgmKosFILrSpt4GtvDM4w3YakZXT5CuZZE7gM7ah2u/YgHcwJBIPcF0lTWyXsDQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZCIGENYWhzMMruxjw35vIg3whHH8Zqk1OBrNOgehavv6t2eB7pCOfYiUOt3Qcu0CGTx37bJQ8HiTTyJfUAcjDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:okQUQ49GYPjd+7wJLFImoDd0arGwMmqx8UjqcMNvYjwImjRlH3zLBlurB1kbHv+paq1V6esTIee2H9Mx/dxABQ==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:n6wd4HvlyOoQsubYUMvcrDxnQCepG+tJaOgTLOQAzVctXW6FHiGc0F9fvL8OgOZI7JPnY+yXuLA5IpzxZxn0Dw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:IehyWGF7Y9lbcLXB1RVvgNv5/c2BWPo6Cqjzpdypv5nkx9ogvyRFk95UGnaq59NYdB5UfZ0iUtj46muTWApQDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:k0LEcOhCcJPuDIBBViLEoAupwA49S4Z/RKod9JA2Jx5B9TkK4ohQM/bJe+n+UIoHLPgEn+GdVJJQIePj5MxdAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:m+x7m+0+p4wufDHCJ5NX8ofUHDlBHxotlfSJBZ0k+S9S2BAewTMHUp6xomak8cpUsruh5/c+LHocoNMTo6oqCQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:Q7WWLS/kU/cuTcf15i4Kl2Glpndq3yaZjVGjAA9In/X86eeEF0Ibyl9rdw/8u8ULbWy/3bDAcoJNOhSsdjj9BA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-1/receipts.bound b/samples/native-views/place-1/receipts.bound deleted file mode 100644 index 450e68f..0000000 --- a/samples/native-views/place-1/receipts.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:c29a49606491aafb3e2081ba43695b2e746430f71c9e1db2521540ab7ab8316a by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:c29a49606491aafb3e2081ba43695b2e746430f71c9e1db2521540ab7ab8316a diff --git a/samples/native-views/place-2/TARGET.bound b/samples/native-views/place-2/TARGET.bound deleted file mode 100644 index e743de3..0000000 --- a/samples/native-views/place-2/TARGET.bound +++ /dev/null @@ -1,39 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=read -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=read -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 -bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 role=writes scope=dep/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 value=sha256:48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 role=writes scope=dep/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 value=sha256:622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c role=writes scope=dep/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c value=sha256:62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 role=writes scope=dep/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 value=sha256:0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d role=writes scope=dep/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d value=sha256:6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d diff --git a/samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 b/samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 deleted file mode 100644 index 2d60398..0000000 --- a/samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:Yb2ywTV0kJIydJaxVsaUEu94yn626IOYHo3ZYgPkk1lCUwYJeoE86WU8Vfz4DVayQ+ZVOFvQ868sIKxfHckhAA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac b/samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac deleted file mode 100644 index 814f83e..0000000 --- a/samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:Ftk4VNpC/NO2enwZvFDouR4AX/y3oCx3IXRKueAfiBBPTStEna1dXBNugbHhQ5i01Le5IfNKNTZXRB6Qdj19BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:zTdQPaDkI2QPzXcBIChRPZhsfL8YYhuaD/raPnXM5EaZKSrDp/H23MFVt41UqkroAtbvmXiFGmAkUQKf4hDlDA==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:p7g5h0NoKp56oGrQQfFIw7PJRMsvlW7/0skfgmrG7047VBqEBm6yF0pijk7jZ5ckyT9NUaTJQLFZf0koxaSxCQ==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UAkKOh6k1Lcziqg1lUxfLXXSngt5Zt2C0xU4aBV51AgwubgNxuQC9qgVsrAtuaR/tnlrB20oA+aTZdJiIgcSBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:cDfdz/ja2XgnPJgzEMuSzz3TDbk19vvJnXO/Nu2m+Lx8yeSI8cqDGf8qwPQP2LIQoXUpDrv811Y8PBnFMVyRCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:huYTtdNSV6mdvsW8qC/Qev1GJI88LhKCakzjJrScVzDADgywtTyEgBFFvnogET0dlWPw+Mr+SKT1A1vOUdaWDw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:ecptdOWAQSwq8Y39JK8aQ3TPlacU48p2XqWO4bR/XPuaCCXKFI7ZWpCByabibDX7ZUsMFZI3ep1VhZj9VBHmDw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hs6yzdDGfDoAEO6ANcfC2Ah2VTZYyuk3F0UAKoJkbwowre7ffZ6VvQK1X4dByJSng6onaNqDGYQYrWV5DNVNBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:vDSawUX0zy4DoQU8bqfc+NrPPYoQEIxPsq/0AkAHS6aOZaHoW0QvdnyVju9UPjoSdfCFvE/RbsMUlFcbp2YMAg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:OeVdppHueXny6g8DK2KsYD2Ry3ERf8hVNu2V4IIKhDONP9/Lllbmk3rI2YX0aq725Aj+RhsK3duGkJmaWA5rDg==\" value=\"MCowBQYDK2VwAyEAVDvEkrH8DkZFGZdQrQN3b2wg5aWq4vI4tNQ472AVrmQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:tW1pw0OdtZM9fdh7UgK1HnDzy/0299JimlxATzHqmkrmBmFneS9X1JbEuHVLxvXWmslErODDDuHKWN/wz2oIBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:bdvbehpsne6ROiDcKKErZvi+VT7cdB/2l80IHS3v41xISw1YrBqhZvmEL8Om1qvEO40DkvOpwjIOMtUbtK0ZAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:Ctup/8GF496gpcE+tj+WdUybTZkDO6eL6DXK2Jzr9UWToue1iFJ3qLzikEt6qIGm3kSz8+ZfzHSyKN5ryCx+BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:APELqXxM8PjUG20YYLns95hNToj/JaVaPofX+wSUZ0hL7lFxne3xdqO6h7mpFIkN9yXMimJUKnaGWD2Pbnv7Bw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:DUgS2LZ4f9/sLlgF9Zh00w4dcveu0bqVKJ87NE8lqPwW4uBq/Z1/D2s+tyX8Eh1XdoqIjaVAGYLWwduQgOJ/BA==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DvJUZtXCRFDG3tL2IlRUPrFX4JC93anuQ84Xs36VBtWxgOs70Q7w7Sr3Dq8klnYySW9E5S1JHHbtZ6jBWGtDAg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:cSdu5Jn1xsrhcikS4m1+STJEipNWNzl+2WnQRV8juw03NP32xMDZV2XCTwYK8PlZrf/3DCgsqv/h8nd4GcjKCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:rlpN3d2X/isJW7skGsVoVIkWzOrNHYnTzu4kvMY4Zb15eiDgyuHzSAVRB6yFaMXiWipgUGGKgInHEHPUodQYCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:5K+2eLXvgDozssc7c0l01jGdn++KfKszqzJLcfEh9k5bQvl4jYmw8uEKJSmXq/p8uq4+2q18PBit1m8ZAGraDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:NJCnhTCdsCJM7v7E9kpq3b+msZ6ENHRQTVMH9fggfA2/ndgDBHOjtGWhTAoIdvknE4SMfyETramNaDwWxOYmAQ==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:xJwKvW7F8KAOMvSQsesbp6sL7jW14R3dnxk2RNbyfIZ4hkXmPpKpYxj0rxooKBt0nfV6yeMIo6ryiIV15gWtDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:FmXRciS6+kBekPsdtUW8TC5LsaLFNFmvFUVf8eAAb+SxlMtA3JBqkLsk6eJBh8Wg42ooYoucwOrZjJ0XSlPVCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:mc7fCoHaQooBkGtcL/gv78FcPlHRT/ce0+b64pCdgClJYf6OfZVTIWeukZOLmwI8Ts2cSXAZTa9oGWd3A2ZKCQ==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:snIqOQD5F+Tg6krE7Z/kuOA11Tm1UoD1eXQbeQfsYRNkbeGasTsrh6ZBLU5ma66jPZeO12UfLRad/4FBkEA/Cg==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:O56jgmGypeYOmV4+3sM8ufjywd4HhF67CS0oYG+39xrE+bdBPcYNfdwQww/buEoOVBJEBs+mZb0gaYsbOcAjCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yWXhceJI/xC263+DRoQ4WMRw2dGvIDrgoWvT8qhaTICOC1jGBn2/A2qcEQz0SpVu7lMTNNbJqwbgB3n46fbtDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zM/ebOCssSiklDvQdNp2j61fcDNYxMuvtY+pzaHdTwWeDzi/gGIgV+hFdMumk6HdaazcKUxTNUWa+8TdLAAkCw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:ZsrkSSzpv0z/LZ03gQqgQvmhSUHScPzjA7e67sCbXQyypNi1esq4wF3W6cVyhHfINWFPRuMcsIWwiw+Oj3FHBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:B2auBi7+D4KNWoZZuxFfWD4pdeRTdFFFCiv+raJN26y0W0gNt7UI0vUYGdMUNxr0/fqVn6daDicJ/7VNqd43CA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:v3p1RBsY2rVSnJ1hxdhulE4a/cvjVuExO8qXGSqNzm/oKx8yPkOFXTq0dtdnT44lXLd5RZSzVG5b4CW5Y4pkCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:vivvh+PNljjXfGYkMtxhd/bR648sBx9v9Kz95CIuzqqAgWQKIR2PPqtyY2aebgnvPGtgQ+ZJR/sA+Qebk+6QAw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:3UMBmZ1ls4HXHxR2fiMR9l3TXZFTX6lAFHciYCQgNjpywk+4PKuUJMGWgeDsg8YQ0gkEXBeGmRTMJvmljTwYBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:AbVk+Lp+YsjkbmCSADeJU9IZZA+9xR3MMOGIl5D0zGsJ2Zc8rlldtFJlAoHCJmMIH57AHAuWOpN2mXTA1b50AQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:s4S8G+AZ8gJ5ZzOUidO2NfArzM+6eKaTQlwuSXJLARBvYXSVXON31wUrvaGJWj5KfMp8Fh3BNYHal5BRw1pHAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:iGLaWVWF79akes+dNPTob8eA65Vj4zYpw/NgPuugIHMk+WaldhQ/oE0JOgZQLR2p6ImdgVJr/IeBgosbPcYWBw==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab b/samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab deleted file mode 100644 index 5d78b75..0000000 --- a/samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:Ftk4VNpC/NO2enwZvFDouR4AX/y3oCx3IXRKueAfiBBPTStEna1dXBNugbHhQ5i01Le5IfNKNTZXRB6Qdj19BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:zTdQPaDkI2QPzXcBIChRPZhsfL8YYhuaD/raPnXM5EaZKSrDp/H23MFVt41UqkroAtbvmXiFGmAkUQKf4hDlDA==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:p7g5h0NoKp56oGrQQfFIw7PJRMsvlW7/0skfgmrG7047VBqEBm6yF0pijk7jZ5ckyT9NUaTJQLFZf0koxaSxCQ==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UAkKOh6k1Lcziqg1lUxfLXXSngt5Zt2C0xU4aBV51AgwubgNxuQC9qgVsrAtuaR/tnlrB20oA+aTZdJiIgcSBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:cDfdz/ja2XgnPJgzEMuSzz3TDbk19vvJnXO/Nu2m+Lx8yeSI8cqDGf8qwPQP2LIQoXUpDrv811Y8PBnFMVyRCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:huYTtdNSV6mdvsW8qC/Qev1GJI88LhKCakzjJrScVzDADgywtTyEgBFFvnogET0dlWPw+Mr+SKT1A1vOUdaWDw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:ecptdOWAQSwq8Y39JK8aQ3TPlacU48p2XqWO4bR/XPuaCCXKFI7ZWpCByabibDX7ZUsMFZI3ep1VhZj9VBHmDw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hs6yzdDGfDoAEO6ANcfC2Ah2VTZYyuk3F0UAKoJkbwowre7ffZ6VvQK1X4dByJSng6onaNqDGYQYrWV5DNVNBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:vDSawUX0zy4DoQU8bqfc+NrPPYoQEIxPsq/0AkAHS6aOZaHoW0QvdnyVju9UPjoSdfCFvE/RbsMUlFcbp2YMAg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:OeVdppHueXny6g8DK2KsYD2Ry3ERf8hVNu2V4IIKhDONP9/Lllbmk3rI2YX0aq725Aj+RhsK3duGkJmaWA5rDg==\" value=\"MCowBQYDK2VwAyEAVDvEkrH8DkZFGZdQrQN3b2wg5aWq4vI4tNQ472AVrmQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:tW1pw0OdtZM9fdh7UgK1HnDzy/0299JimlxATzHqmkrmBmFneS9X1JbEuHVLxvXWmslErODDDuHKWN/wz2oIBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:bdvbehpsne6ROiDcKKErZvi+VT7cdB/2l80IHS3v41xISw1YrBqhZvmEL8Om1qvEO40DkvOpwjIOMtUbtK0ZAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:Ctup/8GF496gpcE+tj+WdUybTZkDO6eL6DXK2Jzr9UWToue1iFJ3qLzikEt6qIGm3kSz8+ZfzHSyKN5ryCx+BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:APELqXxM8PjUG20YYLns95hNToj/JaVaPofX+wSUZ0hL7lFxne3xdqO6h7mpFIkN9yXMimJUKnaGWD2Pbnv7Bw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:DUgS2LZ4f9/sLlgF9Zh00w4dcveu0bqVKJ87NE8lqPwW4uBq/Z1/D2s+tyX8Eh1XdoqIjaVAGYLWwduQgOJ/BA==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DvJUZtXCRFDG3tL2IlRUPrFX4JC93anuQ84Xs36VBtWxgOs70Q7w7Sr3Dq8klnYySW9E5S1JHHbtZ6jBWGtDAg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:cSdu5Jn1xsrhcikS4m1+STJEipNWNzl+2WnQRV8juw03NP32xMDZV2XCTwYK8PlZrf/3DCgsqv/h8nd4GcjKCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:rlpN3d2X/isJW7skGsVoVIkWzOrNHYnTzu4kvMY4Zb15eiDgyuHzSAVRB6yFaMXiWipgUGGKgInHEHPUodQYCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=3 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:WT73aE/UlgqhcRmghqesjgW14SSMdrTKI71UZsHKrBcaTzaGa2S264555jCNfYA2ojmBhiHfVbRsUDK6M9OlDw==\" value=withdraw\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:5K+2eLXvgDozssc7c0l01jGdn++KfKszqzJLcfEh9k5bQvl4jYmw8uEKJSmXq/p8uq4+2q18PBit1m8ZAGraDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:NJCnhTCdsCJM7v7E9kpq3b+msZ6ENHRQTVMH9fggfA2/ndgDBHOjtGWhTAoIdvknE4SMfyETramNaDwWxOYmAQ==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:xJwKvW7F8KAOMvSQsesbp6sL7jW14R3dnxk2RNbyfIZ4hkXmPpKpYxj0rxooKBt0nfV6yeMIo6ryiIV15gWtDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:FmXRciS6+kBekPsdtUW8TC5LsaLFNFmvFUVf8eAAb+SxlMtA3JBqkLsk6eJBh8Wg42ooYoucwOrZjJ0XSlPVCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:mc7fCoHaQooBkGtcL/gv78FcPlHRT/ce0+b64pCdgClJYf6OfZVTIWeukZOLmwI8Ts2cSXAZTa9oGWd3A2ZKCQ==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:snIqOQD5F+Tg6krE7Z/kuOA11Tm1UoD1eXQbeQfsYRNkbeGasTsrh6ZBLU5ma66jPZeO12UfLRad/4FBkEA/Cg==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:O56jgmGypeYOmV4+3sM8ufjywd4HhF67CS0oYG+39xrE+bdBPcYNfdwQww/buEoOVBJEBs+mZb0gaYsbOcAjCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yWXhceJI/xC263+DRoQ4WMRw2dGvIDrgoWvT8qhaTICOC1jGBn2/A2qcEQz0SpVu7lMTNNbJqwbgB3n46fbtDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zM/ebOCssSiklDvQdNp2j61fcDNYxMuvtY+pzaHdTwWeDzi/gGIgV+hFdMumk6HdaazcKUxTNUWa+8TdLAAkCw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:ZsrkSSzpv0z/LZ03gQqgQvmhSUHScPzjA7e67sCbXQyypNi1esq4wF3W6cVyhHfINWFPRuMcsIWwiw+Oj3FHBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:B2auBi7+D4KNWoZZuxFfWD4pdeRTdFFFCiv+raJN26y0W0gNt7UI0vUYGdMUNxr0/fqVn6daDicJ/7VNqd43CA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:v3p1RBsY2rVSnJ1hxdhulE4a/cvjVuExO8qXGSqNzm/oKx8yPkOFXTq0dtdnT44lXLd5RZSzVG5b4CW5Y4pkCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:vivvh+PNljjXfGYkMtxhd/bR648sBx9v9Kz95CIuzqqAgWQKIR2PPqtyY2aebgnvPGtgQ+ZJR/sA+Qebk+6QAw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:3UMBmZ1ls4HXHxR2fiMR9l3TXZFTX6lAFHciYCQgNjpywk+4PKuUJMGWgeDsg8YQ0gkEXBeGmRTMJvmljTwYBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:AbVk+Lp+YsjkbmCSADeJU9IZZA+9xR3MMOGIl5D0zGsJ2Zc8rlldtFJlAoHCJmMIH57AHAuWOpN2mXTA1b50AQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:s4S8G+AZ8gJ5ZzOUidO2NfArzM+6eKaTQlwuSXJLARBvYXSVXON31wUrvaGJWj5KfMp8Fh3BNYHal5BRw1pHAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:iGLaWVWF79akes+dNPTob8eA65Vj4zYpw/NgPuugIHMk+WaldhQ/oE0JOgZQLR2p6ImdgVJr/IeBgosbPcYWBw==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:iffTskKrGz8SGBn2tgtewuJOV5ENhkt6t+jqG6eq2nLtjHu/yl2W8nX0/dI3zOjFBzbXjbrYOE7+1E9FMRXPCw==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 b/samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 deleted file mode 100644 index f58c352..0000000 --- a/samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 b/samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 deleted file mode 100644 index f68a80f..0000000 --- a/samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c b/samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c deleted file mode 100644 index d4cb755..0000000 --- a/samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d b/samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d deleted file mode 100644 index fdce0fb..0000000 --- a/samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:YI/WzkBy0NjKgvIZLQbluJjld6iNwWPji6SipO7a7XnHq/0GICw6ZZqqIRz3Ojx1gjcemDExesLKahLRIsHdAA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:MOMzSCP8/3uEg3RyI4mZd2iJSgXVDnw09WWMWme7UBjfhTzuqDAr+nFG55vC6dIdydJ2nARAzpA1K8tvl8kTAQ==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:MgmXTMRcrTizNwKEbuy8LN2RfLVND51FfAUwnuaNSO7p9OYzJnHqc9I+g9DuVVhQQNQ8rZ5DQy8sg1XkTEDmCw==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:KqNOVZ5DXsp3UwLpUZaGFdxu2Gt0QKn3XQ3TIAN775IkHXpHWc/WMNd1fyeKpipEtnSvHbyZ9v6N2J2gO7wFBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:oA3U0BFVId5TdTWn+m/e5V3/ThUsbtIutdMkhmr3Cx6VhRvtTin+dCs4W/uDAmwIfYw7ueAiUiMmOBT96tg2Dw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:fUHTqf7p5PoMVoX3oc7m8MH04IivWA2BIlO/2qW2KVjCNSgKvRQ7QGT25jr8QrJtAbzlQUogExO+rPVAQpgrAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:exU0l5D7UTyjsoHhqhgVF9dqYeaYI+8kCg33d0/9+uFVRI7RnUGnHKQdXUomKGDBllolBerb0y97573MPhvpCQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:I6sihZFwBi/ypAdZi/8n8cAVvmeQRUQbJ69KFZLAJ7dE5Daz/oa3eODzvYm3yIZhYg+p8nlZfphx6BYNiAjlAQ==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:ONgAuIl6SezLZ3DmoIVnEWlBuKoqudgkzJVsqk+riG9B2e8lFRSf6PT0q1hdshVldmepNPbwXeAyRKFMb4N/Aw==\" value=\"MCowBQYDK2VwAyEALMJes6g0d3n61nxM0wEMwFlcgd0ijrMOkpu9QWpVFWY=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:oJcqdCVIT2b4C2bI9ttY6c087DfENK8+kI8Hd7rYaahJYPxc4tayAkd7N+u9Od1DRwUClkQ7c4b+ntSUjvy+Ag==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:ylst82Yp+PfWCVtF9pgsl1ADSgHOV9FeO35Cg1ZVuKkdt4rGBApjfS6i8dXj+x7d3mjzvkCMUEc05A3tVZO5Cg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:DfoYLQhPoxwnVJeVgmczPZh/NjPgdplabKDswH/ECOrYRUNkQZqZ4eYtNipwt/+1QAA4pqv6F9/DxS4DlPo9AA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:erXoV1ig60dsOtBcL8OXP7SfEDR/73N0b6OLH/uzAbmJSqV+B48YvNtlKJXzK19X6yCKXZZSWZoF00KbLkYfAw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:9GC2ePkUnsPTu3/rKoOy4r3GPkFRfcYhIw3rmljgxMnidMLv5YSijniX2c6Wnlr6l3nv/aNfL0Ryn9/Ks+1iBA==\" value=\"MCowBQYDK2VwAyEAPIQD192pt39PSxMUpfaCgTo/lK26KZvTjjDSN8t5rsI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:5oWVJFuOV13ppP/3rwVQScF0akKb0/3oyaoulEub5G4eRgJCrdlr9D5Uth2fjL30pbYcXyOAzSArdjYDn7icBg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:hAdkb0ZM/HhHA/BP9Op9djN4GTSoTfjJvg3EcFIkR4HRiPhZ2WYKqXLq3RdwfUmy+7OkxmpeBFnNqrxddmI2Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:Q1zVm1s6lSaAUe83ZluNdpnCHfAUInndAMUnBuRfmNRk5YXWrBwoQy7N+ReGj5dSIfkWVH4uv4fALZr7z91vBA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:Yb2ywTV0kJIydJaxVsaUEu94yn626IOYHo3ZYgPkk1lCUwYJeoE86WU8Vfz4DVayQ+ZVOFvQ868sIKxfHckhAA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:N3PZhfDNRtNoJ0G9A0XCJOrM8k0R+6/QNQBojKH6ATWTU3/NPD1IzX9YKnqB/s21ngqRuv+SM1k5PoNp/7TQCw==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:aPnBBwTxn+mV6N4MO/86E/dEOA3NlqeWkkIYbbVW6uy6hB9yxXt0fFfL1sK9Srfr61MyFMiU5G/HXhT+zQkNAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:JNObf1ixVhKC1iK5e14JC978uyo4CugvrkBgJQutp4zWw2VF+qdY1iXBRmuTjkKLT4V/2/rUtYhxJ9BKtXdgDQ==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:ghpvS1Ef3WpBZghuMIr7x3ayirxv40pZHHXBSlclW9e3trt4bghK2oTbExtxtgoX1cGv4vNmV9d4RWTIQMz1Dw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:8Bu8HPlVZd3gIoTuVmx/hTfBWFVCa35L+dZm3pqlfWXDzEIAFzpeUx/Dqy+/yEKuEoPwxXefZRwfI9CIamGwAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:XXI8z02bFdSYlJdM0m6YniR2E1+SAe4NxxwM8UnRwlJkcXwUok/y/dEO5ySAJzbkCWTk8oqG5MXOmgpFFbnyDw==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:no92a4EwuX4tAWRFlj98LJXcvHG1Hz5Pznc8TAkchCn7XTyl+DtBkMIhbmOhaIcafLzXpEwKJ1FNJioHUd0nAg==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:6uEb4zuYrzo+Ek36sUa6Lt0wh5K2q+IT9izfS/ZEq25pjE3rYG1nM1nSWfjccL5Q27Ob70JKUo2SOfWzmm7qAQ==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:HNZMjV01+W6QkrTRucCs9GPzNzYmgYx98hHMKqllfG+XMSl97AlhEP6j/wxr0R/rlc55OO5JkhwymRPQGuLtCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:3KAsBckT8acuL6nzpNyhvHt+580pT+nhRm0ush52zwN86clveHu7nPWt94T+EvRxr11ORka93oyf7PbAEbfJAA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:AuZLbDef+Rq5kuBQudi3NucXBYR/zjMrnMztiWmV5mIWncQMRM1g7TZvIoPdwhwy7zrdoVvIkK3Ygnbq8KT6DQ==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:mIdPx9joOMVfqB2tMvz+Mdx5LyKE2AIa6cOrn7IAVAyqW91TRTu94dbvwKyA4lTLgDK5A/54aVci8uf01vdjBA==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:uHbtKK3DDMr+ldkSkkWBDIBI38FXQ1ei/BL9m0qqXRBu8VG7zn6s9D13gJ0rmrOZQt54mwyOkhH4+/ZfJQ0GBg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:9T0QA7M0jJTig99nn7PfHjqBsMLp7oLQtJQzVJkiNWZUhBv0r4TGp+SEviZ+6raeWqN3Y0AX6c3AQStdZuOrCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:uZBg2rciyhU3/JLelrMAhFefEoJ9aF4ygNZOQwrdjVJXStnWiccI1YPJax5PGfTQ0Axa7cOHzlqYnl1KxFqUCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:HftI5uihwB52RmyFsi/KbD9QFahd2UFBsjNFxCTQK7WMCxEEBQN7iVsAHCgUqesKwPufgBg5xtqVtvHaZARKCg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:ZW7TYWgwXSJ8JRL35hzozyaZbe/y1rYbscq/0TF6uvX4SH5YoH0T7aG5ottJdjgU1GrawMruhpByMueTKcl2BA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:UTkKXOJn/xtSnMvx0SjLCMdEpD9ZJyGGAo6fc/mGvdx1voWgPVSMAIBIzQhyYqZ5BBT0Sj0kpTAsop8+VSPOBw==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:Z7pY4yqEKnlT4CV2oZbNSU71YSfE6f03kcUDwKlTgxgDsdVk4VF41H+6TsVEy6JacoGZYuI2Ap+nkgyZEgDHAQ==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:JCsNOUxYfMR/YtF0zZ9SI+O94rIMKEor13wDf1kBE0MFjGamCwAhwTtnNwgYdZzptshYbD+gqePsDPP2Xt2EBg==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 b/samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 deleted file mode 100644 index 0986169..0000000 --- a/samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:Ftk4VNpC/NO2enwZvFDouR4AX/y3oCx3IXRKueAfiBBPTStEna1dXBNugbHhQ5i01Le5IfNKNTZXRB6Qdj19BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:zTdQPaDkI2QPzXcBIChRPZhsfL8YYhuaD/raPnXM5EaZKSrDp/H23MFVt41UqkroAtbvmXiFGmAkUQKf4hDlDA==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:p7g5h0NoKp56oGrQQfFIw7PJRMsvlW7/0skfgmrG7047VBqEBm6yF0pijk7jZ5ckyT9NUaTJQLFZf0koxaSxCQ==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UAkKOh6k1Lcziqg1lUxfLXXSngt5Zt2C0xU4aBV51AgwubgNxuQC9qgVsrAtuaR/tnlrB20oA+aTZdJiIgcSBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:cDfdz/ja2XgnPJgzEMuSzz3TDbk19vvJnXO/Nu2m+Lx8yeSI8cqDGf8qwPQP2LIQoXUpDrv811Y8PBnFMVyRCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:huYTtdNSV6mdvsW8qC/Qev1GJI88LhKCakzjJrScVzDADgywtTyEgBFFvnogET0dlWPw+Mr+SKT1A1vOUdaWDw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:ecptdOWAQSwq8Y39JK8aQ3TPlacU48p2XqWO4bR/XPuaCCXKFI7ZWpCByabibDX7ZUsMFZI3ep1VhZj9VBHmDw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hs6yzdDGfDoAEO6ANcfC2Ah2VTZYyuk3F0UAKoJkbwowre7ffZ6VvQK1X4dByJSng6onaNqDGYQYrWV5DNVNBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:vDSawUX0zy4DoQU8bqfc+NrPPYoQEIxPsq/0AkAHS6aOZaHoW0QvdnyVju9UPjoSdfCFvE/RbsMUlFcbp2YMAg==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:OeVdppHueXny6g8DK2KsYD2Ry3ERf8hVNu2V4IIKhDONP9/Lllbmk3rI2YX0aq725Aj+RhsK3duGkJmaWA5rDg==\" value=\"MCowBQYDK2VwAyEAVDvEkrH8DkZFGZdQrQN3b2wg5aWq4vI4tNQ472AVrmQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:tW1pw0OdtZM9fdh7UgK1HnDzy/0299JimlxATzHqmkrmBmFneS9X1JbEuHVLxvXWmslErODDDuHKWN/wz2oIBQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:bdvbehpsne6ROiDcKKErZvi+VT7cdB/2l80IHS3v41xISw1YrBqhZvmEL8Om1qvEO40DkvOpwjIOMtUbtK0ZAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:Ctup/8GF496gpcE+tj+WdUybTZkDO6eL6DXK2Jzr9UWToue1iFJ3qLzikEt6qIGm3kSz8+ZfzHSyKN5ryCx+BA==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:APELqXxM8PjUG20YYLns95hNToj/JaVaPofX+wSUZ0hL7lFxne3xdqO6h7mpFIkN9yXMimJUKnaGWD2Pbnv7Bw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:DUgS2LZ4f9/sLlgF9Zh00w4dcveu0bqVKJ87NE8lqPwW4uBq/Z1/D2s+tyX8Eh1XdoqIjaVAGYLWwduQgOJ/BA==\" value=\"MCowBQYDK2VwAyEAF9WuWoW/hxudO14zruKNHt8/A1BXNm1WNzDaAXFFcYA=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DvJUZtXCRFDG3tL2IlRUPrFX4JC93anuQ84Xs36VBtWxgOs70Q7w7Sr3Dq8klnYySW9E5S1JHHbtZ6jBWGtDAg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:cSdu5Jn1xsrhcikS4m1+STJEipNWNzl+2WnQRV8juw03NP32xMDZV2XCTwYK8PlZrf/3DCgsqv/h8nd4GcjKCw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:rlpN3d2X/isJW7skGsVoVIkWzOrNHYnTzu4kvMY4Zb15eiDgyuHzSAVRB6yFaMXiWipgUGGKgInHEHPUodQYCw==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:iffTskKrGz8SGBn2tgtewuJOV5ENhkt6t+jqG6eq2nLtjHu/yl2W8nX0/dI3zOjFBzbXjbrYOE7+1E9FMRXPCw==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:5K+2eLXvgDozssc7c0l01jGdn++KfKszqzJLcfEh9k5bQvl4jYmw8uEKJSmXq/p8uq4+2q18PBit1m8ZAGraDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:NJCnhTCdsCJM7v7E9kpq3b+msZ6ENHRQTVMH9fggfA2/ndgDBHOjtGWhTAoIdvknE4SMfyETramNaDwWxOYmAQ==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:xJwKvW7F8KAOMvSQsesbp6sL7jW14R3dnxk2RNbyfIZ4hkXmPpKpYxj0rxooKBt0nfV6yeMIo6ryiIV15gWtDg==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:FmXRciS6+kBekPsdtUW8TC5LsaLFNFmvFUVf8eAAb+SxlMtA3JBqkLsk6eJBh8Wg42ooYoucwOrZjJ0XSlPVCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:mc7fCoHaQooBkGtcL/gv78FcPlHRT/ce0+b64pCdgClJYf6OfZVTIWeukZOLmwI8Ts2cSXAZTa9oGWd3A2ZKCQ==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:snIqOQD5F+Tg6krE7Z/kuOA11Tm1UoD1eXQbeQfsYRNkbeGasTsrh6ZBLU5ma66jPZeO12UfLRad/4FBkEA/Cg==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:O56jgmGypeYOmV4+3sM8ufjywd4HhF67CS0oYG+39xrE+bdBPcYNfdwQww/buEoOVBJEBs+mZb0gaYsbOcAjCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yWXhceJI/xC263+DRoQ4WMRw2dGvIDrgoWvT8qhaTICOC1jGBn2/A2qcEQz0SpVu7lMTNNbJqwbgB3n46fbtDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zM/ebOCssSiklDvQdNp2j61fcDNYxMuvtY+pzaHdTwWeDzi/gGIgV+hFdMumk6HdaazcKUxTNUWa+8TdLAAkCw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:ZsrkSSzpv0z/LZ03gQqgQvmhSUHScPzjA7e67sCbXQyypNi1esq4wF3W6cVyhHfINWFPRuMcsIWwiw+Oj3FHBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:B2auBi7+D4KNWoZZuxFfWD4pdeRTdFFFCiv+raJN26y0W0gNt7UI0vUYGdMUNxr0/fqVn6daDicJ/7VNqd43CA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:v3p1RBsY2rVSnJ1hxdhulE4a/cvjVuExO8qXGSqNzm/oKx8yPkOFXTq0dtdnT44lXLd5RZSzVG5b4CW5Y4pkCg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:vivvh+PNljjXfGYkMtxhd/bR648sBx9v9Kz95CIuzqqAgWQKIR2PPqtyY2aebgnvPGtgQ+ZJR/sA+Qebk+6QAw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:3UMBmZ1ls4HXHxR2fiMR9l3TXZFTX6lAFHciYCQgNjpywk+4PKuUJMGWgeDsg8YQ0gkEXBeGmRTMJvmljTwYBw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:AbVk+Lp+YsjkbmCSADeJU9IZZA+9xR3MMOGIl5D0zGsJ2Zc8rlldtFJlAoHCJmMIH57AHAuWOpN2mXTA1b50AQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:s4S8G+AZ8gJ5ZzOUidO2NfArzM+6eKaTQlwuSXJLARBvYXSVXON31wUrvaGJWj5KfMp8Fh3BNYHal5BRw1pHAA==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:iGLaWVWF79akes+dNPTob8eA65Vj4zYpw/NgPuugIHMk+WaldhQ/oE0JOgZQLR2p6ImdgVJr/IeBgosbPcYWBw==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-2/receipts.bound b/samples/native-views/place-2/receipts.bound deleted file mode 100644 index 4951d91..0000000 --- a/samples/native-views/place-2/receipts.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:2b77209f54a0ee4e265c6211ad04d5a330e027df216e5e5e97e1dc6fe64f4cab by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:2b77209f54a0ee4e265c6211ad04d5a330e027df216e5e5e97e1dc6fe64f4cab diff --git a/samples/native-views/place-3/TARGET.bound b/samples/native-views/place-3/TARGET.bound deleted file mode 100644 index 9a5ac15..0000000 --- a/samples/native-views/place-3/TARGET.bound +++ /dev/null @@ -1,39 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=access -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=access -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 -bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 role=writes scope=dep/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 value=sha256:d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d role=writes scope=dep/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d value=sha256:0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 role=writes scope=dep/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 value=sha256:32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 role=writes scope=dep/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 value=sha256:a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 role=writes scope=dep/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 value=sha256:aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 diff --git a/samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d b/samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d deleted file mode 100644 index 2adeaba..0000000 --- a/samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 b/samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 deleted file mode 100644 index d0406c8..0000000 --- a/samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 b/samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 deleted file mode 100644 index e5d4b2a..0000000 --- a/samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:PIBcWL8wdbkdUA+ltzeon7ulwFJOkHs7Gkcsjbu4rZckVnS0BAoQmRPMrr8CGuXg/41aDMTvhwGxto5IjU+JBA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 b/samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 deleted file mode 100644 index 6eeb7bb..0000000 --- a/samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:PIBcWL8wdbkdUA+ltzeon7ulwFJOkHs7Gkcsjbu4rZckVnS0BAoQmRPMrr8CGuXg/41aDMTvhwGxto5IjU+JBA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:ugHa0dCQuhLMx3U1BX+bjWdnRGsiLxmO6iUPAUsXqCyNy8mle7bhhJjkhFPUp6lyS1JA4ygYKHKOCgPZH0O6DA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:2RKGSDVll3l7lXZld6Zx3NtXS6iXdsZnuSqTJdza8ZxDmhQ+vSGKq04fqdtNj/vOSZbUjuT/oTP33QRqYmqAAQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:KgCfy3XwQFok1v8x+0WybJvi6/Hil8JgTOkOqtht0nPyfFQ8P0GCtiNhdhOap5hLIZDtyn6/s2oHKusqjagLDA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 b/samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 deleted file mode 100644 index 4fa666a..0000000 --- a/samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:WILD2Tu0zK2Q929u+rHEqh7EOYxPrI8m2rBgmFfyH75BI24ayBFSZLctwpwLjL8IE6+BtVWRDFVh3dF+Xw71Cg==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:pS1xL7E+X3ZMBPyEcAmZBj4eqycg7I1Sqm0+uvmJo2hCLMLTZgpKAkHZEXWOt7QF9VwmPFVXsCeW9k8BAP/aDw==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:ux6t+sYzK3S/yDCmcz5rOyBHI6fAxClkcq39SypfSctHdET667L5evVAvCgxdsn/u4yJz23nXKaAIO+9NX83AQ==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:8B88sl0NZ7er/1m8rlL67ykpLP1hDH4vhdqKjVwHh5SR+BUWBDuS1zhMFFbKUcclrYFsXojLGOna7YLvSaurBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:KIcnwQVh6OwaANNPZZwcbesIvaBjmzpvyg9eIaZZbSi+Uh5FFtfkt3SPncqtlUZdw2dwOXV42sHEaZx9GTskAA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:RV1abHx5pP/Hx9zePiaKUjpkHJ1fXKogtRLt54PhOza6Ceg9PBYSTXkul09BA5naGZW0a4cn1SDT7IAsZeOkBQ==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:8z1RvctV9G2zxDkTmIXVsByHyecfTaqK1hsalKd8AThpneaK4oshWIe9KRlDYNgajQqJ+/X4Y771IgyiYX4xBw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:H1ryrfY6/FpPpEaPDYDxr5Ef9BVnm5AdhANcoX3RBvmvW6mQdd/Z80PWHxtRTHBWl/w2lP3bZ57eHHhwIOIpBw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:rkViGtiuhyiRZJbHIXY8ejCOVxjG1X1S7PMGHJYoS1vMFCdrTYG60jLnU+riLXdLp0irtlHWJPF/hQauQIf6BA==\" value=\"MCowBQYDK2VwAyEAR25pW2nf8BMNqYojfh+8KN/7E5HBOzpw/aLANcmnsb4=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:Mzzu9Nvydkqci9t0W6oMhXU42cMQyeN2WtdXX4eZMl0XJmaQwqq6pstJEhif4Uc8nONI0NSIS3mO3YnRNhsCBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:jgNpFRWBPOpJFitD6SOWhbSATM1WqF0G0CWGD3lklVlN7DvYutevvUyT5ObOs5Bs5ZY+hXNv2IwsjS82FiH3Dg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:dLBrRwsNLkp1OahHXY2R+fI66KeE3Ul0LE20v4A29MOkj6ENebppPvqV/1ErYa+lAEq7gI39F2buVLz4nUmyBQ==\" value=access\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:IPkG7hOcni/tHFTUMu0FyPaAiNKqozM4TbKFeWxq1ZgNJFvqqfIdcFkFtkkHS51o8UC+CnVOgFQRJVCXR99xBw==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:+0ocWyjXYS1IskMPZfcMcuy4LS/rZrQORNwxO7587RjDk6MJnA70/CxKBt4/qtE25fcusMAxicBuyMu5pk6/Aw==\" value=\"MCowBQYDK2VwAyEALfD3VaXj4oZWOvnserHgkmLQhVWU4t76/YtgZmjaL5E=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:DiJooP1sgXHgG/rK9EbZnJuQo5CgZhrmfIfLAkE9KAeLUQRnzb49hOusasYRzlv/+gaerfqiBK9Djv2OxqlbBA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:FW1ryX1KkcFeAuEftcA6kEeiSBdvluVNKl2P3v7+PhvjlyG/LbQYShPUnHUrX8lCNv7nGAel8LqD+89b9FdrAw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:B9tbmk39Q3N41Bo7QoUspK2uFl2sobrI3stZYUjMrST0SOXZuwLRVAM9svKdquQyiS/nsZFxa1bWP5Iw1VZmAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:b+HcXu2movkrSco7/PVNWUr7QAWH/Y5iLVbmYXtD4rqATFSr/19fL0LUSzdGSIQ6onLANuZuRVFrXz3VOoXzBg==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:sDwRU2Vn1ajr6bDn1iSVlAdQ4ixhFH1lQHZSUcqGujuapIuhLK+JOm1e5Ov1T7hVdG+E/oYSXp2GSz+j+PP4BA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:LpW+qcuAmgvM14gr4qpwAqjWzMBzmnUoibLAIqADyG1dntuSjlQEpWQ+ziZ5hpg5npFHdMzHRYLcbxTaD3iyCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:R2n0SzdPckE5LPCVbaMl+63kq4mtMzD1vDNmVUksK4DDMwsWRkOh4uLhWKYKLHcw8N2jyWjhUHSYbr/VUFtWDQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:Vv0+tpZWsbxzaT/v0tZkW0xTwZmYyAEes8n9OKtxsV6JVQvy47umqp8c7UDelnWz+hvuZBHdiBfiYhv1H+bUCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:YWpk/GPB3jCXzpONYkgV6kHoxhrXxLpVwt9+D2Z7qioLh+bw8DT2hGQoSAAWCtJMJyyjiBN2PraNz1C8se1rBA==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:+9EpveiKCEmNgvuJX4kLFXt8sWSf/bKeXJKTi6COb8yuG8ccLn5m3FHVGPLgQ7DYqmc+C16+mKddFsCOUUnzDA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:Gzz+Jvgs9r7iupybL4ByTQHyQEiprSUDWe4ckbB6MA8StP0YIJNsU8fFny9jgw/0ikIKAzPN4RdOOumTb2ADBw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:JbyXgdbu52NnYgLiaGACCCdkyn0uIkxmA4yT4TuOMmZYGIiqtnpZWkg25rjW3K4TNCTT3xs+MXkpGcuUDtw8Ag==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:N3kO/Pzk3vrjj4eGWspa9u+qZ82OAq+8N3EkS6Kt0yvI1CfEqy1QfiFbpZDB5+GdMr7jJsyFHSwB0UYS0tAlBg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:1fXhWerk1X7N0Vbz6NaltCb2wJTdPZjAHOtEKSQRiK+LZONjwsLXiYlkE0z3XjMeMrF5zr6FRGaCE+R2om8PAQ==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:DF9Ngx2heOHrG8Wn8CG8k70KuKo3fMwAbJRz+xXqCcrqAx4GXw5qOktTp0fgxgA5ldgpFOqAlW37hJSgxHMyDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:EaVqFjRduhdIFZQSyjdyPwYaPxCEOTu8Bnxiw1NqeifzH8JBawbrgzQzy8LS4cpqVy+uLIXZFTbon+e6w/tmDg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Lca0abg+GhJr/QhEGsrGxWFx0ZDxLdBUmF/nMfk4Gc1CFQQHwcMUbOulZ8ekJ3j4Bzwhh1keEO7oMvE4kcDhAg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:HSvXH6ew6uHKoZWqYMffC5WOVJzer3TUPp8758Cl8dQj0Ue+uoYfWidVDBCorWdR2W17SB4fSUktTuGnoX0vCQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:E6Hp8AQr3zY4vmmz1962vbTKrGs1ep+lJg4M9nhhxDEc4u+PobYH0AO0EpHkNt0y/HaJk3zFEbKxhoft7ikmCQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:0/duSxgrfBbs7DmymVoz095PTe8PEndA/Q9loah8hxt9BvmysR5Eg3+BH1YEgV5PnAXlHZR4I10pw6VWXz5yAA==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-3/receipts.bound b/samples/native-views/place-3/receipts.bound deleted file mode 100644 index 376044e..0000000 --- a/samples/native-views/place-3/receipts.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:7a768a93f62225ff537a05d83577ee776d68c42b97064cbbb38dd5ef65e3fea7 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:7a768a93f62225ff537a05d83577ee776d68c42b97064cbbb38dd5ef65e3fea7 diff --git a/samples/native-views/place-4/TARGET.bound b/samples/native-views/place-4/TARGET.bound deleted file mode 100644 index beb298d..0000000 --- a/samples/native-views/place-4/TARGET.bound +++ /dev/null @@ -1,38 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-fold value=fold -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=attest -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south|receipts -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=attest -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias|receipts -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 -bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 role=writes scope=dep/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 value=sha256:980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 role=writes scope=dep/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 value=sha256:0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 role=writes scope=dep/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 value=sha256:87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 diff --git a/samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 b/samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 deleted file mode 100644 index 6bc896a..0000000 --- a/samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:9oAGsh0mOm/adDs2tcileyZOs1kxAurn/x2UjvdGK/D5OlNiO8jWxxUOJBcRFyPBOrM2BXDt30c/E37eUs59BQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:Bn0KEdE0NqqqdRpg195ryXN/bWw44qZKZptcrUWIa1PlkiW5DLn/qnP82ZoTxQzWIaLao1AtxfVdpMSMNh8gBg==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:FhoRv+em5y2/uWR9EwM8X5KNu0ucBvXn/KUm6lvYeoq4RQXpJi/6cKnYUsW4j7zKGdpgFzji/jjbe8J1TgF2Cg==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UL+xb9zY0Kx/j89tW2aEcukrU2wepw7bU+fd/NyFhLy3wo2mZu7dq1CiTkw1xiI4iqh4/+fSRZyrxHwYtmhHDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:0A4BP5a/7PUUiJ7hCEif69hwUA4hyYcDtHmo+6O90+ZSAHP4Vekke3q2PoDaPiwYtvcqDmIdjXmqbuf9eejOCQ==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:fWRR0CDU8B1ciQRV0jXPVPiwIqKl2VXM/ottA1sadnVqRUDlTfUMEU72AwROF3UUVFUW/e5tTcb5PoSGXWw5AQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:wekK2ZFQWAqGdXjX3KHviiJP1eE5bpL2CbhFGDeHrKJX8J7TRWigKfS+Zf/GM/LzFuvcKxGJP7CBKkgCZfBzAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:69WIk8rdSf3TPfstD3aKGpCv+VfPIzBSmJuZMIVc2sAB+HKK3EWHCVsOMb7Yw9mdUa8e74OFGzKuaCRT6pqoAw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:r4ktrAFskLWehAOA2vxfVKSqmLCO9sHrfoXErkZ5lbZUWVdi2dAF6tmWbq2SgUFTSGb0yMgyvlZ/1f+NnH5CBA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:/iloewG2Rp8zPufoErJF7+zxYFf/9y1pWGxHDC9QaaBWWtjdxGJznS0LMg/NNUUMyb2EJRv8yZP0wWFGmn//Bw==\" value=\"MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:2czXTnyCwjHUviI9eD0OGikCDv+bZirDpOvI1aniniCRB5W6yFxv2XCyBycj+oeTYdQSQUZBPBg4jn34gwvSCw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:Iun9zomU8ulkPm63fham8RBAvHvejBqOihU75oiYsoQKCFzFbxNKYqZJixdmM9Wmbv7C9KSYl8NOC8tOSuODAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:45gmPJaxMxONm4xTEwWXtUXup7HO2qKLVqmzmI1JFxpeEoLZV+a75EzZ69Vo2TI/MnoqOlCPc4wk0fNY2uWZBQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:7qzS0EO+6KdLxJiLhvMgWO2UtsbpC43hLGx6CxMQX1nxwjv+X9B26ZkYbtn7S42lN9VvkIE3W8Ob/OffgRemDw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:aIXz5QqrhwwP9onojReoYDoDRb2/M0EjuTFxy8026Ln4HWvarUdr2wNycEWuv77op/zH1pDGarjliCgrZAENDA==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:v9efmyLLNmEAtBtHAmzja9qU+RHAzSzJb46Hz1L2Pd+9XNOlph/MZSKzCzonGfByEmbwqqJxIAmHjyihf3yrCg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:3uSBYgYE9Ash8yVL//BVKdgZ0yIQWML9QT7WdbnKeJcIR00L3IL6E+EJLDM90tcM8VEJ9FVnSlBZbvPX2HxxDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ayd5qRGRxTk7QySeoC+RxZi+/HIF/PwFN8gZ0g/XCrPExoSKYIWpmK5FjPeopMaW1KDDnniUkPtScPNfsOIqDQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:stS1qqcyFQ1rXAta3AF4Qwu4jl8cw5lQlxXLQHh4WQZzsY/KNd6WKFkISjsGpOMKihJNFaKtNKYPt63UQBo4Cg==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:mPH/fYN6H+0QUIywdtIFvR3x8sVWbko3Qgg64/IXv+eyYkiPGxrXuaqpgmIB0WY0ly6bpk4M0DR8NTnI7cfUCA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aBL4WfNn9c23rD+fEm7+BuhvpsfWgl8ABjlWv6O/igvH5X5Olvb/99M36HLDd85Vq40xuhmDiYEve3v0TpKWBA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:VkET0n9h4BOB1xICtxSRJ7KiCCt5+Ry/qgWIOVuEWs2/KsU/RMPf3hmpAniQDGFHEt+MBelGWVVPXCSTprUJAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:MdZATnmpsLOfKn+93uPQQzchIAtrk0CIAY+UqOPwnu20lC4QKz058a1052aFfUxhAJ8jOErw7Dr4hXZPTDxgCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:dlACk4oHZ9hnVDX6eJFIVws2bThs/k7eD5k7Ru9R87FkgT/q+wlZP0ez5jWRyZ7vGLA4mUWdIOnUFYAttIxYCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ydTnMdsB+PREwYv/pDSFXcTLl8WEYLkDSyhbShX7HbweCTDVJcrXhlomOalQlrJuHo2Gu2iB4rHldZgfI4M4Bw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:EmQnhreqBZDcvQeej7abR22g/jYSABKuOvUt3wmDSmBwdqFqUqsXfoiEMbAO2yvu5OHPf8UuMjnhHS9O7+MXCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8lkFEftq+bKbdi9YqeAN99t1YH5c3/WArGuol9oobvdv/hIQ6GsVL9pMHaFF9BBSL4SvRxdHUX5UAcT/qKGQAw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:v2bDbQR4sqKTzdYeRHcAvAjZITFO8SyRK5rSuGFJ4kGOxtEfkMiy2BgSEoSue+CS+gbYrIuVCd++mG2AE1UdAA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Pi+EjhmmYnN5BRCRwVleoO2HTntUZ/8Ncx9zCk/KX3+6oE1dGxUqImEQtK/W5iPJ7AFDDNypbzjgyIuD14keDw==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:DTTKObPYmZHD5ObLZr/cUnVW8RtgYXgnMpvRWLzkoLBZgdUz8tap8Izx3NSfIt3Fw929tvhO/NtZuWPnXQeLDw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:aKD8s0SNzDCjqQfMLoA/g+xTVTbqCyOkHH5AoxrUuG1OZN8XDxPqC876QL35+stXQKbcMOrWDfIG/7bj5aBWDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:TvDaXUoAv+VIrXyUkOWEFbo9dqTpX24d+tqUMVTN+5AYh0ZfOyyOTguOJm3rH7Z3ppZVBXHkKrFoyjZ7RBlsBg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Fazk1VCAvgjaTzWW/3nOVvcy2qtURTYtUfeHhIGiWCxfQ84R/ZTm2SKxgsg9y+Hh2/kPGwXOSfSsmoIxEmYMAQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:oLC12gJlGDwTzJVcKlPE+K9k1MrM1wOFfQrbGe7StKuPOsqwckCNo4h9sUlOLFv6xJtSbY36tuTYr46gVpGNBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:hMSisg3sovORDOWGA3X2lDRcLqf/e5cZBkK/Wn/i9LI/UIacfgkxLZT7YpFTaH8Q7ASM+eTHIaae6upaHf1BAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:XKf678iiC32PvJTCB3PKh8+0RUWG8SiejxJv+qAmBcmQ98BmgQZt1LQUKGOyqM6VTkQx1Dvrcoyi/OtiHxiLBg==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 b/samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 deleted file mode 100644 index 2eaae92..0000000 --- a/samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:9oAGsh0mOm/adDs2tcileyZOs1kxAurn/x2UjvdGK/D5OlNiO8jWxxUOJBcRFyPBOrM2BXDt30c/E37eUs59BQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:Bn0KEdE0NqqqdRpg195ryXN/bWw44qZKZptcrUWIa1PlkiW5DLn/qnP82ZoTxQzWIaLao1AtxfVdpMSMNh8gBg==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:FhoRv+em5y2/uWR9EwM8X5KNu0ucBvXn/KUm6lvYeoq4RQXpJi/6cKnYUsW4j7zKGdpgFzji/jjbe8J1TgF2Cg==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UL+xb9zY0Kx/j89tW2aEcukrU2wepw7bU+fd/NyFhLy3wo2mZu7dq1CiTkw1xiI4iqh4/+fSRZyrxHwYtmhHDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:0A4BP5a/7PUUiJ7hCEif69hwUA4hyYcDtHmo+6O90+ZSAHP4Vekke3q2PoDaPiwYtvcqDmIdjXmqbuf9eejOCQ==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:fWRR0CDU8B1ciQRV0jXPVPiwIqKl2VXM/ottA1sadnVqRUDlTfUMEU72AwROF3UUVFUW/e5tTcb5PoSGXWw5AQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:wekK2ZFQWAqGdXjX3KHviiJP1eE5bpL2CbhFGDeHrKJX8J7TRWigKfS+Zf/GM/LzFuvcKxGJP7CBKkgCZfBzAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:69WIk8rdSf3TPfstD3aKGpCv+VfPIzBSmJuZMIVc2sAB+HKK3EWHCVsOMb7Yw9mdUa8e74OFGzKuaCRT6pqoAw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:r4ktrAFskLWehAOA2vxfVKSqmLCO9sHrfoXErkZ5lbZUWVdi2dAF6tmWbq2SgUFTSGb0yMgyvlZ/1f+NnH5CBA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:/iloewG2Rp8zPufoErJF7+zxYFf/9y1pWGxHDC9QaaBWWtjdxGJznS0LMg/NNUUMyb2EJRv8yZP0wWFGmn//Bw==\" value=\"MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:2czXTnyCwjHUviI9eD0OGikCDv+bZirDpOvI1aniniCRB5W6yFxv2XCyBycj+oeTYdQSQUZBPBg4jn34gwvSCw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:Iun9zomU8ulkPm63fham8RBAvHvejBqOihU75oiYsoQKCFzFbxNKYqZJixdmM9Wmbv7C9KSYl8NOC8tOSuODAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:45gmPJaxMxONm4xTEwWXtUXup7HO2qKLVqmzmI1JFxpeEoLZV+a75EzZ69Vo2TI/MnoqOlCPc4wk0fNY2uWZBQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:7qzS0EO+6KdLxJiLhvMgWO2UtsbpC43hLGx6CxMQX1nxwjv+X9B26ZkYbtn7S42lN9VvkIE3W8Ob/OffgRemDw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:aIXz5QqrhwwP9onojReoYDoDRb2/M0EjuTFxy8026Ln4HWvarUdr2wNycEWuv77op/zH1pDGarjliCgrZAENDA==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:v9efmyLLNmEAtBtHAmzja9qU+RHAzSzJb46Hz1L2Pd+9XNOlph/MZSKzCzonGfByEmbwqqJxIAmHjyihf3yrCg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:3uSBYgYE9Ash8yVL//BVKdgZ0yIQWML9QT7WdbnKeJcIR00L3IL6E+EJLDM90tcM8VEJ9FVnSlBZbvPX2HxxDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ayd5qRGRxTk7QySeoC+RxZi+/HIF/PwFN8gZ0g/XCrPExoSKYIWpmK5FjPeopMaW1KDDnniUkPtScPNfsOIqDQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=3 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:D+dlkNVjh7/ZPTZSDo7Vw4/AXzMRQlb087TCgoRtLQl5su9O8zaZIjP75mH0m5IUqyop2wgoh4+Zw7ZQFVTfAA==\" value=withdraw\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:mPH/fYN6H+0QUIywdtIFvR3x8sVWbko3Qgg64/IXv+eyYkiPGxrXuaqpgmIB0WY0ly6bpk4M0DR8NTnI7cfUCA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aBL4WfNn9c23rD+fEm7+BuhvpsfWgl8ABjlWv6O/igvH5X5Olvb/99M36HLDd85Vq40xuhmDiYEve3v0TpKWBA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:VkET0n9h4BOB1xICtxSRJ7KiCCt5+Ry/qgWIOVuEWs2/KsU/RMPf3hmpAniQDGFHEt+MBelGWVVPXCSTprUJAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:MdZATnmpsLOfKn+93uPQQzchIAtrk0CIAY+UqOPwnu20lC4QKz058a1052aFfUxhAJ8jOErw7Dr4hXZPTDxgCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:dlACk4oHZ9hnVDX6eJFIVws2bThs/k7eD5k7Ru9R87FkgT/q+wlZP0ez5jWRyZ7vGLA4mUWdIOnUFYAttIxYCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ydTnMdsB+PREwYv/pDSFXcTLl8WEYLkDSyhbShX7HbweCTDVJcrXhlomOalQlrJuHo2Gu2iB4rHldZgfI4M4Bw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:EmQnhreqBZDcvQeej7abR22g/jYSABKuOvUt3wmDSmBwdqFqUqsXfoiEMbAO2yvu5OHPf8UuMjnhHS9O7+MXCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8lkFEftq+bKbdi9YqeAN99t1YH5c3/WArGuol9oobvdv/hIQ6GsVL9pMHaFF9BBSL4SvRxdHUX5UAcT/qKGQAw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:v2bDbQR4sqKTzdYeRHcAvAjZITFO8SyRK5rSuGFJ4kGOxtEfkMiy2BgSEoSue+CS+gbYrIuVCd++mG2AE1UdAA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Pi+EjhmmYnN5BRCRwVleoO2HTntUZ/8Ncx9zCk/KX3+6oE1dGxUqImEQtK/W5iPJ7AFDDNypbzjgyIuD14keDw==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:DTTKObPYmZHD5ObLZr/cUnVW8RtgYXgnMpvRWLzkoLBZgdUz8tap8Izx3NSfIt3Fw929tvhO/NtZuWPnXQeLDw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:aKD8s0SNzDCjqQfMLoA/g+xTVTbqCyOkHH5AoxrUuG1OZN8XDxPqC876QL35+stXQKbcMOrWDfIG/7bj5aBWDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:TvDaXUoAv+VIrXyUkOWEFbo9dqTpX24d+tqUMVTN+5AYh0ZfOyyOTguOJm3rH7Z3ppZVBXHkKrFoyjZ7RBlsBg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Fazk1VCAvgjaTzWW/3nOVvcy2qtURTYtUfeHhIGiWCxfQ84R/ZTm2SKxgsg9y+Hh2/kPGwXOSfSsmoIxEmYMAQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:oLC12gJlGDwTzJVcKlPE+K9k1MrM1wOFfQrbGe7StKuPOsqwckCNo4h9sUlOLFv6xJtSbY36tuTYr46gVpGNBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:hMSisg3sovORDOWGA3X2lDRcLqf/e5cZBkK/Wn/i9LI/UIacfgkxLZT7YpFTaH8Q7ASM+eTHIaae6upaHf1BAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:XKf678iiC32PvJTCB3PKh8+0RUWG8SiejxJv+qAmBcmQ98BmgQZt1LQUKGOyqM6VTkQx1Dvrcoyi/OtiHxiLBg==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:stS1qqcyFQ1rXAta3AF4Qwu4jl8cw5lQlxXLQHh4WQZzsY/KNd6WKFkISjsGpOMKihJNFaKtNKYPt63UQBo4Cg==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 b/samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 deleted file mode 100644 index 580e17c..0000000 --- a/samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:9oAGsh0mOm/adDs2tcileyZOs1kxAurn/x2UjvdGK/D5OlNiO8jWxxUOJBcRFyPBOrM2BXDt30c/E37eUs59BQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:Bn0KEdE0NqqqdRpg195ryXN/bWw44qZKZptcrUWIa1PlkiW5DLn/qnP82ZoTxQzWIaLao1AtxfVdpMSMNh8gBg==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:FhoRv+em5y2/uWR9EwM8X5KNu0ucBvXn/KUm6lvYeoq4RQXpJi/6cKnYUsW4j7zKGdpgFzji/jjbe8J1TgF2Cg==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:UL+xb9zY0Kx/j89tW2aEcukrU2wepw7bU+fd/NyFhLy3wo2mZu7dq1CiTkw1xiI4iqh4/+fSRZyrxHwYtmhHDA==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:0A4BP5a/7PUUiJ7hCEif69hwUA4hyYcDtHmo+6O90+ZSAHP4Vekke3q2PoDaPiwYtvcqDmIdjXmqbuf9eejOCQ==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:fWRR0CDU8B1ciQRV0jXPVPiwIqKl2VXM/ottA1sadnVqRUDlTfUMEU72AwROF3UUVFUW/e5tTcb5PoSGXWw5AQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:wekK2ZFQWAqGdXjX3KHviiJP1eE5bpL2CbhFGDeHrKJX8J7TRWigKfS+Zf/GM/LzFuvcKxGJP7CBKkgCZfBzAg==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:69WIk8rdSf3TPfstD3aKGpCv+VfPIzBSmJuZMIVc2sAB+HKK3EWHCVsOMb7Yw9mdUa8e74OFGzKuaCRT6pqoAw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:r4ktrAFskLWehAOA2vxfVKSqmLCO9sHrfoXErkZ5lbZUWVdi2dAF6tmWbq2SgUFTSGb0yMgyvlZ/1f+NnH5CBA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:/iloewG2Rp8zPufoErJF7+zxYFf/9y1pWGxHDC9QaaBWWtjdxGJznS0LMg/NNUUMyb2EJRv8yZP0wWFGmn//Bw==\" value=\"MCowBQYDK2VwAyEAgdj7XBAAf5Zn2bBw+bPAZc2WlQhJydDhVNaoVkWwXgM=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:2czXTnyCwjHUviI9eD0OGikCDv+bZirDpOvI1aniniCRB5W6yFxv2XCyBycj+oeTYdQSQUZBPBg4jn34gwvSCw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:Iun9zomU8ulkPm63fham8RBAvHvejBqOihU75oiYsoQKCFzFbxNKYqZJixdmM9Wmbv7C9KSYl8NOC8tOSuODAg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:45gmPJaxMxONm4xTEwWXtUXup7HO2qKLVqmzmI1JFxpeEoLZV+a75EzZ69Vo2TI/MnoqOlCPc4wk0fNY2uWZBQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:7qzS0EO+6KdLxJiLhvMgWO2UtsbpC43hLGx6CxMQX1nxwjv+X9B26ZkYbtn7S42lN9VvkIE3W8Ob/OffgRemDw==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:aIXz5QqrhwwP9onojReoYDoDRb2/M0EjuTFxy8026Ln4HWvarUdr2wNycEWuv77op/zH1pDGarjliCgrZAENDA==\" value=\"MCowBQYDK2VwAyEAVuDUAlNLi8Kvfc7Saq462bmfae5ucphjCN5CctFMOVI=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:v9efmyLLNmEAtBtHAmzja9qU+RHAzSzJb46Hz1L2Pd+9XNOlph/MZSKzCzonGfByEmbwqqJxIAmHjyihf3yrCg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:3uSBYgYE9Ash8yVL//BVKdgZ0yIQWML9QT7WdbnKeJcIR00L3IL6E+EJLDM90tcM8VEJ9FVnSlBZbvPX2HxxDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:ayd5qRGRxTk7QySeoC+RxZi+/HIF/PwFN8gZ0g/XCrPExoSKYIWpmK5FjPeopMaW1KDDnniUkPtScPNfsOIqDQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:mPH/fYN6H+0QUIywdtIFvR3x8sVWbko3Qgg64/IXv+eyYkiPGxrXuaqpgmIB0WY0ly6bpk4M0DR8NTnI7cfUCA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aBL4WfNn9c23rD+fEm7+BuhvpsfWgl8ABjlWv6O/igvH5X5Olvb/99M36HLDd85Vq40xuhmDiYEve3v0TpKWBA==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:VkET0n9h4BOB1xICtxSRJ7KiCCt5+Ry/qgWIOVuEWs2/KsU/RMPf3hmpAniQDGFHEt+MBelGWVVPXCSTprUJAA==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:MdZATnmpsLOfKn+93uPQQzchIAtrk0CIAY+UqOPwnu20lC4QKz058a1052aFfUxhAJ8jOErw7Dr4hXZPTDxgCg==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:dlACk4oHZ9hnVDX6eJFIVws2bThs/k7eD5k7Ru9R87FkgT/q+wlZP0ez5jWRyZ7vGLA4mUWdIOnUFYAttIxYCw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:ydTnMdsB+PREwYv/pDSFXcTLl8WEYLkDSyhbShX7HbweCTDVJcrXhlomOalQlrJuHo2Gu2iB4rHldZgfI4M4Bw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:EmQnhreqBZDcvQeej7abR22g/jYSABKuOvUt3wmDSmBwdqFqUqsXfoiEMbAO2yvu5OHPf8UuMjnhHS9O7+MXCw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8lkFEftq+bKbdi9YqeAN99t1YH5c3/WArGuol9oobvdv/hIQ6GsVL9pMHaFF9BBSL4SvRxdHUX5UAcT/qKGQAw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:v2bDbQR4sqKTzdYeRHcAvAjZITFO8SyRK5rSuGFJ4kGOxtEfkMiy2BgSEoSue+CS+gbYrIuVCd++mG2AE1UdAA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Pi+EjhmmYnN5BRCRwVleoO2HTntUZ/8Ncx9zCk/KX3+6oE1dGxUqImEQtK/W5iPJ7AFDDNypbzjgyIuD14keDw==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:DTTKObPYmZHD5ObLZr/cUnVW8RtgYXgnMpvRWLzkoLBZgdUz8tap8Izx3NSfIt3Fw929tvhO/NtZuWPnXQeLDw==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:aKD8s0SNzDCjqQfMLoA/g+xTVTbqCyOkHH5AoxrUuG1OZN8XDxPqC876QL35+stXQKbcMOrWDfIG/7bj5aBWDg==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:TvDaXUoAv+VIrXyUkOWEFbo9dqTpX24d+tqUMVTN+5AYh0ZfOyyOTguOJm3rH7Z3ppZVBXHkKrFoyjZ7RBlsBg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Fazk1VCAvgjaTzWW/3nOVvcy2qtURTYtUfeHhIGiWCxfQ84R/ZTm2SKxgsg9y+Hh2/kPGwXOSfSsmoIxEmYMAQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:oLC12gJlGDwTzJVcKlPE+K9k1MrM1wOFfQrbGe7StKuPOsqwckCNo4h9sUlOLFv6xJtSbY36tuTYr46gVpGNBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:hMSisg3sovORDOWGA3X2lDRcLqf/e5cZBkK/Wn/i9LI/UIacfgkxLZT7YpFTaH8Q7ASM+eTHIaae6upaHf1BAQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:XKf678iiC32PvJTCB3PKh8+0RUWG8SiejxJv+qAmBcmQ98BmgQZt1LQUKGOyqM6VTkQx1Dvrcoyi/OtiHxiLBg==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place-4/receipts.bound b/samples/native-views/place-4/receipts.bound deleted file mode 100644 index 962b4d7..0000000 --- a/samples/native-views/place-4/receipts.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=place:sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:dc3268986d55fabeab53970b5b16288f6644039cf7083a6592c806f25c7d3b56 -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:ed1c58b8663cc4e34bc30e400fe09cbef56e52f92d7f2e72461c2c34207f1abd -bound-lock/1 at=place:sha256:77bd557b8308f447493f2a4573eafe2ae7ffd021cec03fa3a90293cee184a889 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:102dead202451c7d24d32c4ab6aea12ebb0d990f4363a073418b4b9ac6525452 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:102dead202451c7d24d32c4ab6aea12ebb0d990f4363a073418b4b9ac6525452 diff --git a/samples/native-views/place/TARGET.bound b/samples/native-views/place/TARGET.bound deleted file mode 100644 index 6505b23..0000000 --- a/samples/native-views/place/TARGET.bound +++ /dev/null @@ -1,38 +0,0 @@ -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/local-fold value=fold -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/north value=authorize -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/north value=* -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/north value="MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/north value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/north value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/south value=attest -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/south value=sample/south|receipts -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/south value="MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/south value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/south value=1..16 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/alias value=attest -bound-lock/1 at=policy:evidence by=target form=alphabet measure=coverage role=writes scope=keys/alias value=sample/alias|receipts -bound-lock/1 at=policy:evidence by=target form=alphabet measure=public-key role=writes scope=keys/alias value="MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=" -bound-lock/1 at=policy:evidence by=target form=alphabet measure=signer role=writes scope=keys/alias value=file -bound-lock/1 at=policy:evidence by=target form=interval measure=resolution role=writes scope=keys/alias value=1..16 -bound-lock/1 at=policy:evidence by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:evidence by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=class role=writes scope=keys/views-fold value=fold -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/help value=help -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/lines value=lines -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/receipts value=receipts@8|receipts@0|receipts@1 -bound-lock/1 at=policy:evidence by=target form=alphabet measure=id role=demands scope=view/not-provided-by-this-place value=never-offered -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b role=writes scope=dep/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b value=sha256:4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a role=writes scope=dep/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a value=sha256:1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 role=writes scope=dep/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 value=sha256:4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 diff --git a/samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 b/samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 deleted file mode 100644 index 2c6983a..0000000 --- a/samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:uYpBiJHwAu2swY/XS+0lLfM6OU67BNTuib3PRWmWb0pqojvuvUYqfAIWryWJoR8zRE5Tip7kGtcq5UU2Bmu/AQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a b/samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a deleted file mode 100644 index 73a1c2b..0000000 --- a/samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:dRHoCyuqa+Qv/6FLwgDRrZ95Qa2vIF0EYjQrK/u2qzMd0/H6jLmGZzH+W7+/iB8zAXLqWHh7JJ5p/GqR3wxOCQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:n/3fnOsppEjQ2MyXlnoNcbuYQCil1Z/m9W7cpHHXqH3JTZ7ZPmwCq3b+AeAKUajbPeJyBA4EpHj9vTgBcxboDQ==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:+3MYprdIrFLaYYQy0mslDjTqfMoI7J9PfjLG/IQ2ADi7+CHtzUWg6dij4KxE1g+KAOf94fbfT2cwgZ7nHlzwCw==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:3zUMABKnov8v8Fy7Xt0Xagqd3jXlZ8plAQPaIyIpyvKpiot+SaUJDF9aO1DPvzcy8587vb8QADH+dugliAPDCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:URq99bSV5VMfyW/GrY5l7VPXgw0hv3FktZXpnJZgLq4QozsHzfwkIFQ9yltxI/GrjvpThoHHpzByz+L6W/L7Cw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:h6LzMVMuha6XaDlxpnu+OFuhFkS5R5AhJITOE4NgNrqJC3MCL5QR3AI7U2kQ/YmL76GcdC/M4T7uyoqMcNoVAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:E60NVjfQIAm3LmhTKQLZlOFIXjJUJtf9TgYb2ljTGviPAk+gjd5GEAVJxDTIhbxdCCufu1Qk5d6K0ZrIcS1ZCA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hg/76uw1p5k+pTh03J9VMgYz27zkwSReIQPZcIJrgn33x5xJOdyB9nHRGd0uPIkpjGsuucII0Qs93LXfhYotDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:hekIopNJrs4HTFm7sr4N4NOLmVszDUNGfiRzQDBNuEHse+8eebWXOga+lljO6ouc/0ywvYLKgjYOd6jB2xxWAA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kiQlOw0IQiGMo2xZ0qoK01fYpAXuPnazKxi6er9/22wdwT3b7IFlQnLk3oC3Pt892olfELvnS8b4CbjaYfiHBA==\" value=\"MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:PtnUbNQTp8mwBqFxKfSNjDgtvkz11SHblf8h0S1yjJjLafnwjko1KqpSTUzvTY7mt7TC5jlob8jKJWFKQUa5Bg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:V5zBq3LBxmTwEfPcjK0Tv+j77KnrqjvVoaOKYwmb+REL/5k78lnPRCp9Rf9OBWucGrcIGFO3dGstrv1yv/W+BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:17TX2QwWEIHGimv6+tS85Qq6AtQW+ow+wLskwPe9c+0bTXSwgAq1YNWGQXbGSUT1yfyBQdlQvVEvKURCzchQCg==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:su5ZsuAPt7Iz2mzdyI6OIgupFsmElNXtYn68qs+Zlv5U4AYD+G2lhLPaxUlL9ji0FUl7ht2Mb9leQMDM+mfbBA==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:Tuo4k+KD6DZp/sxVD1okJ+6QFIvTfPTpivWzr+0lhnE0aF67r2najUBb03PGa2jKjGM3jV3sqgccNdPx7ApdDQ==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QBf+mD0bcMAlL6htM6bCrJAMo4/2fDPX5EeMdY3cpoK6F26v1esWakWlahP8ymw+samn4Y92TqC+TMASemmbBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:NCTMzH6qIYK2519fypHl8ZIaK0+scKSEdzQiqRRKLmIn81rmXJnD7RHgnZvGz/CMEaUhE5nmk9rtYsvGGyM8BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:mb88Dw+j5KOIHgwVk3e7+Nc+8F2fwiH3VSSs+xfSx7O4IRqtOQHjy17nIBd6JGAVxeUt6b6bzRUlE5SJ1CLYBQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:5w79/eb9riOxw8m/3KeRfeI9xV4aYcE2F2Oc2u3WFKqbn+RLOfVnrlKgn3G3zERD7M1qKk/pIBWjagqBE3QjCA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:/geZZo5RtKnk/4KFNXmu0+4qV6tUnvwTLus5kvGOWOYt7pHHDFko99cgGRPAOEkq8DSD7gcilj2VEZeyyCpsAA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:GdFIjPWmh2YBJymy406DZDKb6NM2Fy98TWT8eaJANzV8ik1XaO61JER0/tz0ZQ1jcxnUyPp8iB+4XnEyRRJyBg==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:NM6I2heI0yviq8mogWHDWiPPIG8aXp39kEDQnN3islKsDkhWr23J+psBKg7G1l41R7Eirx/1Xgv6QbLjID9PCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:b+ifU4ch9+VURmbNI0c0APZiF4q8pALUCBkMKGX41SLEF9fQXMtoBGM3zKqSUxYiUhNcuajGV6rBJsyMN9rUAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:GZO12v9Bq610sNmqjr903NL16/53VllzuSFBi6GB7Ppp2HazhfY6S4WSDnrAg7Rt6EeVufMSTlSfeRJQV9HiBA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:G1u2bGfPWHbMh96p3y+PlMlUzC3A2F7Xi5xv6EDJ5iVDbF5cKcXM6bKuYcRMlW40YsbL9MT5s0LrizRbr7wiDw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:j2J5YC7jjWL46sUYYFmDv3ERpF7eLuZUyXlV5iQsNcXqlJqr7usUelOHpYECZON0Q5NKP7UEu0WgB2VbpqHzDw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8I4/pl69SFfoNoUsuJbd6JHfJu6EDwQzlmgNB9EZltbObuZ5/e5WCO9kiZcO++6x3rAvW/IjuQGYXk/4odtmDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zWZvszYXN0COL8+NWbveWFXAm56rFDSlMWiVtXHLP5TDcr59LSSUWD/sqRJmIwTUCrunbJ0T73aq1HYn0F59Cw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CbtEkvQXl0zIL3Z4mYk1eiyr6zslt9AmfnDFJPCMi3P8cI2dA5ZJLHLBwXXDpBwdV1LZMXo+r9BRFvg+7sFJBQ==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:YEdrq+BNxEm4tMhRDX14R3+nvUsmPTu2MHr+uxTJ/xXnZy/W8fJs1eZhGYfBV5pjTBkwyLuh4JretPhOEz6CDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:se6kjXBOqcT+DuCEcowvnSuZIitThkCWEfOuTAVZJKns9Pj62O3343BEoUFv/EImYJGh/ACaJYC0ADJ9UYEFAA==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:zPByKq/BEdJmkdspv24Fu5RsZJiSeFbaJMScaRi9ucbTTNyV1hKMUB1maL7u2E8Miu7NaUmC7bLEyUZeTGjuCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:RUDvz0xIhsZq/s0dvqHYvw8c8LZzaPcWIzqCegQGsXUG8nA5ojiWklM29hFI+/mypxtXl3lHM+Cz//RfA47XBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:gbKbjZMVk8rDASqfDWt6+JPVSP58t0B76iYK2aYFBUDL0W1txugY0MtewzIZQ5Y/5ckYy82+8J1SOKVEap4dCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:ekXkcuv2yCI2mtOhamXBDjmPpaLUGWJ6Uw+s7bhCKkJxdaopUhs/ovok6ZK/hrUpV/KR009nZWd29JmnzWQdDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:x8r2ita8UGjCRrW/KMcEyFskwSIqPtnckei8rh0m6lQ7VobfkaQ++pLl8/Tf0aatmgEbzUg6zQrodMIM+gJ3BQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 b/samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 deleted file mode 100644 index 0581361..0000000 --- a/samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:dRHoCyuqa+Qv/6FLwgDRrZ95Qa2vIF0EYjQrK/u2qzMd0/H6jLmGZzH+W7+/iB8zAXLqWHh7JJ5p/GqR3wxOCQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:n/3fnOsppEjQ2MyXlnoNcbuYQCil1Z/m9W7cpHHXqH3JTZ7ZPmwCq3b+AeAKUajbPeJyBA4EpHj9vTgBcxboDQ==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:+3MYprdIrFLaYYQy0mslDjTqfMoI7J9PfjLG/IQ2ADi7+CHtzUWg6dij4KxE1g+KAOf94fbfT2cwgZ7nHlzwCw==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:3zUMABKnov8v8Fy7Xt0Xagqd3jXlZ8plAQPaIyIpyvKpiot+SaUJDF9aO1DPvzcy8587vb8QADH+dugliAPDCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:URq99bSV5VMfyW/GrY5l7VPXgw0hv3FktZXpnJZgLq4QozsHzfwkIFQ9yltxI/GrjvpThoHHpzByz+L6W/L7Cw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:h6LzMVMuha6XaDlxpnu+OFuhFkS5R5AhJITOE4NgNrqJC3MCL5QR3AI7U2kQ/YmL76GcdC/M4T7uyoqMcNoVAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:E60NVjfQIAm3LmhTKQLZlOFIXjJUJtf9TgYb2ljTGviPAk+gjd5GEAVJxDTIhbxdCCufu1Qk5d6K0ZrIcS1ZCA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hg/76uw1p5k+pTh03J9VMgYz27zkwSReIQPZcIJrgn33x5xJOdyB9nHRGd0uPIkpjGsuucII0Qs93LXfhYotDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:hekIopNJrs4HTFm7sr4N4NOLmVszDUNGfiRzQDBNuEHse+8eebWXOga+lljO6ouc/0ywvYLKgjYOd6jB2xxWAA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kiQlOw0IQiGMo2xZ0qoK01fYpAXuPnazKxi6er9/22wdwT3b7IFlQnLk3oC3Pt892olfELvnS8b4CbjaYfiHBA==\" value=\"MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:PtnUbNQTp8mwBqFxKfSNjDgtvkz11SHblf8h0S1yjJjLafnwjko1KqpSTUzvTY7mt7TC5jlob8jKJWFKQUa5Bg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:V5zBq3LBxmTwEfPcjK0Tv+j77KnrqjvVoaOKYwmb+REL/5k78lnPRCp9Rf9OBWucGrcIGFO3dGstrv1yv/W+BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:17TX2QwWEIHGimv6+tS85Qq6AtQW+ow+wLskwPe9c+0bTXSwgAq1YNWGQXbGSUT1yfyBQdlQvVEvKURCzchQCg==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:su5ZsuAPt7Iz2mzdyI6OIgupFsmElNXtYn68qs+Zlv5U4AYD+G2lhLPaxUlL9ji0FUl7ht2Mb9leQMDM+mfbBA==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:Tuo4k+KD6DZp/sxVD1okJ+6QFIvTfPTpivWzr+0lhnE0aF67r2najUBb03PGa2jKjGM3jV3sqgccNdPx7ApdDQ==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QBf+mD0bcMAlL6htM6bCrJAMo4/2fDPX5EeMdY3cpoK6F26v1esWakWlahP8ymw+samn4Y92TqC+TMASemmbBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:NCTMzH6qIYK2519fypHl8ZIaK0+scKSEdzQiqRRKLmIn81rmXJnD7RHgnZvGz/CMEaUhE5nmk9rtYsvGGyM8BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:mb88Dw+j5KOIHgwVk3e7+Nc+8F2fwiH3VSSs+xfSx7O4IRqtOQHjy17nIBd6JGAVxeUt6b6bzRUlE5SJ1CLYBQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=3 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:I3DOGx+i1DdMhe4q07oHoJscCRvSQMvp3UtCO401wlyRrcL0lGyAZPpKW1DuQUJVhwZbNSyjiCTh+HI88Gd4Dg==\" value=withdraw\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:/geZZo5RtKnk/4KFNXmu0+4qV6tUnvwTLus5kvGOWOYt7pHHDFko99cgGRPAOEkq8DSD7gcilj2VEZeyyCpsAA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:GdFIjPWmh2YBJymy406DZDKb6NM2Fy98TWT8eaJANzV8ik1XaO61JER0/tz0ZQ1jcxnUyPp8iB+4XnEyRRJyBg==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:NM6I2heI0yviq8mogWHDWiPPIG8aXp39kEDQnN3islKsDkhWr23J+psBKg7G1l41R7Eirx/1Xgv6QbLjID9PCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:b+ifU4ch9+VURmbNI0c0APZiF4q8pALUCBkMKGX41SLEF9fQXMtoBGM3zKqSUxYiUhNcuajGV6rBJsyMN9rUAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:GZO12v9Bq610sNmqjr903NL16/53VllzuSFBi6GB7Ppp2HazhfY6S4WSDnrAg7Rt6EeVufMSTlSfeRJQV9HiBA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:G1u2bGfPWHbMh96p3y+PlMlUzC3A2F7Xi5xv6EDJ5iVDbF5cKcXM6bKuYcRMlW40YsbL9MT5s0LrizRbr7wiDw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:j2J5YC7jjWL46sUYYFmDv3ERpF7eLuZUyXlV5iQsNcXqlJqr7usUelOHpYECZON0Q5NKP7UEu0WgB2VbpqHzDw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8I4/pl69SFfoNoUsuJbd6JHfJu6EDwQzlmgNB9EZltbObuZ5/e5WCO9kiZcO++6x3rAvW/IjuQGYXk/4odtmDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zWZvszYXN0COL8+NWbveWFXAm56rFDSlMWiVtXHLP5TDcr59LSSUWD/sqRJmIwTUCrunbJ0T73aq1HYn0F59Cw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CbtEkvQXl0zIL3Z4mYk1eiyr6zslt9AmfnDFJPCMi3P8cI2dA5ZJLHLBwXXDpBwdV1LZMXo+r9BRFvg+7sFJBQ==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:YEdrq+BNxEm4tMhRDX14R3+nvUsmPTu2MHr+uxTJ/xXnZy/W8fJs1eZhGYfBV5pjTBkwyLuh4JretPhOEz6CDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:se6kjXBOqcT+DuCEcowvnSuZIitThkCWEfOuTAVZJKns9Pj62O3343BEoUFv/EImYJGh/ACaJYC0ADJ9UYEFAA==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:zPByKq/BEdJmkdspv24Fu5RsZJiSeFbaJMScaRi9ucbTTNyV1hKMUB1maL7u2E8Miu7NaUmC7bLEyUZeTGjuCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:RUDvz0xIhsZq/s0dvqHYvw8c8LZzaPcWIzqCegQGsXUG8nA5ojiWklM29hFI+/mypxtXl3lHM+Cz//RfA47XBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:gbKbjZMVk8rDASqfDWt6+JPVSP58t0B76iYK2aYFBUDL0W1txugY0MtewzIZQ5Y/5ckYy82+8J1SOKVEap4dCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:ekXkcuv2yCI2mtOhamXBDjmPpaLUGWJ6Uw+s7bhCKkJxdaopUhs/ovok6ZK/hrUpV/KR009nZWd29JmnzWQdDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:x8r2ita8UGjCRrW/KMcEyFskwSIqPtnckei8rh0m6lQ7VobfkaQ++pLl8/Tf0aatmgEbzUg6zQrodMIM+gJ3BQ==\" value=ed25519:sample\n","standing":36,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:5w79/eb9riOxw8m/3KeRfeI9xV4aYcE2F2Oc2u3WFKqbn+RLOfVnrlKgn3G3zERD7M1qKk/pIBWjagqBE3QjCA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b b/samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b deleted file mode 100644 index f1c5801..0000000 --- a/samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:dRHoCyuqa+Qv/6FLwgDRrZ95Qa2vIF0EYjQrK/u2qzMd0/H6jLmGZzH+W7+/iB8zAXLqWHh7JJ5p/GqR3wxOCQ==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:n/3fnOsppEjQ2MyXlnoNcbuYQCil1Z/m9W7cpHHXqH3JTZ7ZPmwCq3b+AeAKUajbPeJyBA4EpHj9vTgBcxboDQ==\" value=sample/alias|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:+3MYprdIrFLaYYQy0mslDjTqfMoI7J9PfjLG/IQ2ADi7+CHtzUWg6dij4KxE1g+KAOf94fbfT2cwgZ7nHlzwCw==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:3zUMABKnov8v8Fy7Xt0Xagqd3jXlZ8plAQPaIyIpyvKpiot+SaUJDF9aO1DPvzcy8587vb8QADH+dugliAPDCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:URq99bSV5VMfyW/GrY5l7VPXgw0hv3FktZXpnJZgLq4QozsHzfwkIFQ9yltxI/GrjvpThoHHpzByz+L6W/L7Cw==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-fold sig=\"ed25519:sample:h6LzMVMuha6XaDlxpnu+OFuhFkS5R5AhJITOE4NgNrqJC3MCL5QR3AI7U2kQ/YmL76GcdC/M4T7uyoqMcNoVAA==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:E60NVjfQIAm3LmhTKQLZlOFIXjJUJtf9TgYb2ljTGviPAk+gjd5GEAVJxDTIhbxdCCufu1Qk5d6K0ZrIcS1ZCA==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:Hg/76uw1p5k+pTh03J9VMgYz27zkwSReIQPZcIJrgn33x5xJOdyB9nHRGd0uPIkpjGsuucII0Qs93LXfhYotDw==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:hekIopNJrs4HTFm7sr4N4NOLmVszDUNGfiRzQDBNuEHse+8eebWXOga+lljO6ouc/0ywvYLKgjYOd6jB2xxWAA==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:kiQlOw0IQiGMo2xZ0qoK01fYpAXuPnazKxi6er9/22wdwT3b7IFlQnLk3oC3Pt892olfELvnS8b4CbjaYfiHBA==\" value=\"MCowBQYDK2VwAyEAaKPadiTlTrLMCHIV8X7YzBfx4UdJzooaoJfIMM1Bhgo=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:PtnUbNQTp8mwBqFxKfSNjDgtvkz11SHblf8h0S1yjJjLafnwjko1KqpSTUzvTY7mt7TC5jlob8jKJWFKQUa5Bg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:V5zBq3LBxmTwEfPcjK0Tv+j77KnrqjvVoaOKYwmb+REL/5k78lnPRCp9Rf9OBWucGrcIGFO3dGstrv1yv/W+BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:17TX2QwWEIHGimv6+tS85Qq6AtQW+ow+wLskwPe9c+0bTXSwgAq1YNWGQXbGSUT1yfyBQdlQvVEvKURCzchQCg==\" value=attest\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:su5ZsuAPt7Iz2mzdyI6OIgupFsmElNXtYn68qs+Zlv5U4AYD+G2lhLPaxUlL9ji0FUl7ht2Mb9leQMDM+mfbBA==\" value=sample/south|receipts\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:Tuo4k+KD6DZp/sxVD1okJ+6QFIvTfPTpivWzr+0lhnE0aF67r2najUBb03PGa2jKjGM3jV3sqgccNdPx7ApdDQ==\" value=\"MCowBQYDK2VwAyEAz55v5rXSogtq30NuflmbIUpHp8vbIKEHbTekEHwJzUQ=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:QBf+mD0bcMAlL6htM6bCrJAMo4/2fDPX5EeMdY3cpoK6F26v1esWakWlahP8ymw+samn4Y92TqC+TMASemmbBw==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:NCTMzH6qIYK2519fypHl8ZIaK0+scKSEdzQiqRRKLmIn81rmXJnD7RHgnZvGz/CMEaUhE5nmk9rtYsvGGyM8BA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:mb88Dw+j5KOIHgwVk3e7+Nc+8F2fwiH3VSSs+xfSx7O4IRqtOQHjy17nIBd6JGAVxeUt6b6bzRUlE5SJ1CLYBQ==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:/geZZo5RtKnk/4KFNXmu0+4qV6tUnvwTLus5kvGOWOYt7pHHDFko99cgGRPAOEkq8DSD7gcilj2VEZeyyCpsAA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:GdFIjPWmh2YBJymy406DZDKb6NM2Fy98TWT8eaJANzV8ik1XaO61JER0/tz0ZQ1jcxnUyPp8iB+4XnEyRRJyBg==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:NM6I2heI0yviq8mogWHDWiPPIG8aXp39kEDQnN3islKsDkhWr23J+psBKg7G1l41R7Eirx/1Xgv6QbLjID9PCw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:b+ifU4ch9+VURmbNI0c0APZiF4q8pALUCBkMKGX41SLEF9fQXMtoBGM3zKqSUxYiUhNcuajGV6rBJsyMN9rUAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:GZO12v9Bq610sNmqjr903NL16/53VllzuSFBi6GB7Ppp2HazhfY6S4WSDnrAg7Rt6EeVufMSTlSfeRJQV9HiBA==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:G1u2bGfPWHbMh96p3y+PlMlUzC3A2F7Xi5xv6EDJ5iVDbF5cKcXM6bKuYcRMlW40YsbL9MT5s0LrizRbr7wiDw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:j2J5YC7jjWL46sUYYFmDv3ERpF7eLuZUyXlV5iQsNcXqlJqr7usUelOHpYECZON0Q5NKP7UEu0WgB2VbpqHzDw==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8I4/pl69SFfoNoUsuJbd6JHfJu6EDwQzlmgNB9EZltbObuZ5/e5WCO9kiZcO++6x3rAvW/IjuQGYXk/4odtmDw==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:zWZvszYXN0COL8+NWbveWFXAm56rFDSlMWiVtXHLP5TDcr59LSSUWD/sqRJmIwTUCrunbJ0T73aq1HYn0F59Cw==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CbtEkvQXl0zIL3Z4mYk1eiyr6zslt9AmfnDFJPCMi3P8cI2dA5ZJLHLBwXXDpBwdV1LZMXo+r9BRFvg+7sFJBQ==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:YEdrq+BNxEm4tMhRDX14R3+nvUsmPTu2MHr+uxTJ/xXnZy/W8fJs1eZhGYfBV5pjTBkwyLuh4JretPhOEz6CDg==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:se6kjXBOqcT+DuCEcowvnSuZIitThkCWEfOuTAVZJKns9Pj62O3343BEoUFv/EImYJGh/ACaJYC0ADJ9UYEFAA==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:zPByKq/BEdJmkdspv24Fu5RsZJiSeFbaJMScaRi9ucbTTNyV1hKMUB1maL7u2E8Miu7NaUmC7bLEyUZeTGjuCw==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:RUDvz0xIhsZq/s0dvqHYvw8c8LZzaPcWIzqCegQGsXUG8nA5ojiWklM29hFI+/mypxtXl3lHM+Cz//RfA47XBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:gbKbjZMVk8rDASqfDWt6+JPVSP58t0B76iYK2aYFBUDL0W1txugY0MtewzIZQ5Y/5ckYy82+8J1SOKVEap4dCw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:ekXkcuv2yCI2mtOhamXBDjmPpaLUGWJ6Uw+s7bhCKkJxdaopUhs/ovok6ZK/hrUpV/KR009nZWd29JmnzWQdDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:x8r2ita8UGjCRrW/KMcEyFskwSIqPtnckei8rh0m6lQ7VobfkaQ++pLl8/Tf0aatmgEbzUg6zQrodMIM+gJ3BQ==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 b/samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 deleted file mode 100644 index 9f6af54..0000000 --- a/samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 b/samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 deleted file mode 100644 index c7cc170..0000000 --- a/samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:gSdDuQHHHP5QzNfYW3Wj6Es4gxT0gurUYQST3yPTAbmgXBicWkQYyuCNiDRFanRqOC1wXi9Rg0f0YJtAlN0/BA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=5 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:hEZFnQipldXLnwE+nlLZQkYKN7awLo1VpgyVBr274id1eqYrsG4siu9e12ur5Epr29SaNuo4fGra5yb0CIs5AQ==\" value=withdraw\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:uYpBiJHwAu2swY/XS+0lLfM6OU67BNTuib3PRWmWb0pqojvuvUYqfAIWryWJoR8zRE5Tip7kGtcq5UU2Bmu/AQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":["bound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north"],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 b/samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 deleted file mode 100644 index 93e56cf..0000000 --- a/samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 b/samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 deleted file mode 100644 index c183dac..0000000 --- a/samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/alias sig=\"ed25519:sample:OgsxbncH9vDwHQ1dZTFGCYdan+C9lumMQLlxLxyrJFf4RSsfkotCqo7E2mBe05XkVA/LlN6t4woPrXYEDtKaBQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/alias sig=\"ed25519:sample:3YtT14qW3uiFMEP5r6mXNcjQtdm+CLKOzhiaiuW9AxKdmX8IVnYRRWPfxx797P6yUfRBgRyEKlWGWBZhpyntBA==\" value=sample/alias\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/alias sig=\"ed25519:sample:qKzZolwyYtrIR3OV4X+23Wm24ZOiNLxMEGCEU66IVhTl5sPj892AjHIS2UgJulW/cOfIq/Fz1tGlE0Gws+xvDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/alias sig=\"ed25519:sample:yhL5YxQLVrgIxZCKkuRqA56k89rNjRjJX1GKTwD1tWDYFIYe2Ek6lQwBOXHMW/VteYpbqNowedpMvsvj+mbMCQ==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/alias sig=\"ed25519:sample:uWveI6RCqdXUYtmyz0sPeoGpahe4jP5vfqkoVGARKBQfZ4CXe2A08SZDyeFxrorptca5XT7uhMUH0iQDNJKmDA==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:37gVo8ODzPo1ZYCx0nM6Lrjp/Qgx662j8sPP+gaYnDwEbjaCt1D3ZVRzO6fIp6vTgRQr1O0VibzrnZgNTHXABw==\" value=read\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/north sig=\"ed25519:sample:VTevkt1TxPgoPWLpqhQ8vDIhwRbswa+SQ8JzbVstUs1VnJLl5GhAZGNv7+cwQKMmqyrNU+z8KdIXODCLWC+ABA==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/north sig=\"ed25519:sample:3fN/WnaL2fe0JxX/73cI24ND9E1lcGtLhaQSfbEHQ3iM+ZAn8iOKGabnTuoXOZd6wKfCUxngc+HI7rZXnQ0FCw==\" value=*\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/north sig=\"ed25519:sample:o8sDUHjfKo0xuxs7TF0sgoCTee8bWCr/f00UqVoe068+Hgla03WJPbICQOQYioI/lEDfVkDs4pzvwsBQrYc9Bg==\" value=\"MCowBQYDK2VwAyEAlH+wDJtdaRRJk6qIB/EwXW2RoQdfVp3X/07kxPDvvac=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/north sig=\"ed25519:sample:EiMPeUlosVvMcUUOMx0GF6HgOrJp36r3sCAYX1h048dKl2KXBseFaJzPD9ae9TtkJ00gB2mcui23f0Fe8iScDg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/north sig=\"ed25519:sample:me731s9dJh9GBrecNE0dv+OaVxSAYZvQNxSaoJ4Mguo00O1asZlO4B9lr/+A+orjVbOFXJC0zlNPadfNX2hLBg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/south sig=\"ed25519:sample:uXVlePDg7cNtvUdXgQ8P9ONCvkf5VLmNJOD/eRE7euwfvyqxFjS4UrjN4cAWN1bs2sGsHWELuaB5Snd8Mh2EAQ==\" value=authorize\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=coverage role=writes scope=keys/south sig=\"ed25519:sample:r/Po6ofR6DcOQPOBSWqFn4zyB6cOPkz4++aFIbzi5kMQB9Vow2pdDjXxmM3y9kdonS4/HRpll+G5tD2B8AAFCA==\" value=sample/south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=public-key role=writes scope=keys/south sig=\"ed25519:sample:1Y3RMvODAkjwBDkV2dWmsg1W4VFSuXA2+jQ08QGDhOMPbIqul6DtwTSltNRBpXI4+P1q8LKNaZ2wRKz8IFvYDA==\" value=\"MCowBQYDK2VwAyEAJDPkbQpznKoOFymIIBM4EnHDsFy30cXyWy0el60QiX0=\"\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=resolution role=writes scope=keys/south sig=\"ed25519:sample:Mh0ZY3YSjzWZ3C7DGO8DJZUsKZ6VRp7QFNk/42q6XEz1+hn1mZunQey7sAUeZ5VpLKbGQggkVDG3ixYkini5Cg==\" value=1..16\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=signer role=writes scope=keys/south sig=\"ed25519:sample:SFaW7hmTDN8YkX5jcea6fu6q+LHw1KNx720pAoF7uhaKVqg7urAd2TGBz6O0J04ag9SbysFqXP2DODbCfGFpDg==\" value=file\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=class role=writes scope=keys/views-fold sig=\"ed25519:sample:9txwM1zti7g2bMwovgCk82D6OkizHM45cX4OYCNmmVBY4W62Gq1fh8O1oDIsWpru8dpdfjyFo/HtwyYVoTWoBg==\" value=fold\nbound-lock/1 at=policy:evidence by=alias epoch=4 form=alphabet measure=observed role=writes scope=sample/alias sig=\"ed25519:sample:gSdDuQHHHP5QzNfYW3Wj6Es4gxT0gurUYQST3yPTAbmgXBicWkQYyuCNiDRFanRqOC1wXi9Rg0f0YJtAlN0/BA==\" value=evidence-alias\nbound-lock/1 at=policy:evidence by=north epoch=2 form=alphabet measure=observed role=writes scope=sample/north sig=\"ed25519:sample:vro+v12dJAijQwnH5TfjAGUJj94SyDaR79gSNvnRsoZIVe93d47z6qP7c6aEoTXDOIWHd8rb44SdYOmj9OvLDA==\" value=evidence-north\nbound-lock/1 at=policy:evidence by=south epoch=3 form=alphabet measure=observed role=writes scope=sample/south sig=\"ed25519:sample:uYpBiJHwAu2swY/XS+0lLfM6OU67BNTuib3PRWmWb0pqojvuvUYqfAIWryWJoR8zRE5Tip7kGtcq5UU2Bmu/AQ==\" value=evidence-south\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:KmIPqYfVQIfITZLUYuW+MfPPKwYNQfwwf6COMI3XuyLP4ME7q7LbDyB+AGmNevzq+d2zxsKpLJ+D3HmugcCXDA==\" value=65536..65536\nbound-lock/1 at=policy:evidence by=north epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:3BR4uqdv4IXbNc4Y3esMuONfQaS/PTotDfcqNLAkfzEFnaoK6iRwB9EsnPDWNiKJkgX3O1tN+fGsQD+AKDQUCw==\" value=5000..5000\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:BF5zFdFyY1WVijBEmF+6HSN1SJQTlqX7dpuSgkZ74AX9OUzJxYg8U5aSFdtgUWVL6lQ1KI8dHYmcnd6JFDP3Dw==\" value=evidence@8\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/help sig=\"ed25519:sample:UoHJpc9c7GeNBZOzw8jHBK7pp1PHMbIyv9qbRrO2Io9EgZLIaD2gNP+TqYt1F2HsuDEVSRAPcJ9q55PvJf1GAQ==\" value=help\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/lines sig=\"ed25519:sample:QgVoLMW0aKCbG3QEXoJZFCFwWrCmkWIsxW1+al7vFzd7BlTQ2Hs5dGsaclTX4lO2ZaV9be+28EG2yrXWX8oTAw==\" value=lines\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/not-provided-by-this-place sig=\"ed25519:sample:dyE3iNakY48t+LthrPd4r/awJGdgeSid78hPfc1DfZdedWrAbpqiFYbXCscptzieoaRbUsCHv6Vhv6xVI3YQBw==\" value=never-offered\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=demands scope=view/receipts sig=\"ed25519:sample:u2cOTzkVBmK11lgWyA8IiplGZx4rq0b7UQTyyBvllTftsRG8DqnCwmdXZTYfP9pe7J2AAUqf+0xW5gCW8t1ZBA==\" value=receipts@8|receipts@0|receipts@1\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:yUwJKb257HjInOT0LKe3dzq/x2VLq5FglQBliMdAca7lIjaZNxpun9LtdmnFDf+KiPc9VtUo/ElKCLSczBQ4DQ==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:hz8e2l0NDwLY5w6oT6vQhfGk+dC5/cSrsntw48BVSL1nmPZXzskWRVQGFe+W3KV5/Nlokomgh9jIw0JEcsoDBA==\" value=sha256\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:wC0aXNNlcNtYda04i0M6r/mI9BP+sLhZ3Kku+HjCKYFA3Plkm18ryS4nEJnQPUg9IaEMxx4Zx1U7oWPIchFQDg==\" value=sample\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:Whu0eOf/6RwJmTH72vlw1sh6qDfkQaiTDHyuhRRQ0ylJr6xDulCYGX4yViJwTzyHub7qytv4fTyQbys3hBoGAA==\" value=keys|signer|wire|sample|tree|write|leaf|view|reader|read|fold|receipts|rendered|resolved|beat|region\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:hQIBnUdHypNRfVVK41iYbB2+1CwsaNzB2JTqR/iMQfMOh5a0bZUvhF8L0kE8RVjZQhmMGX9XDc/LKszcM55xBw==\" value=scope|role|form|measure|value|by|at|epoch|sig\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:3WlHEp5oCq6yA+ZpRDEJLm9XUmSo5x56m9oKEANiusvWUdNQJD0+3Ayet99hJTVM+wfxB+ggLd3n/J6i4fEdAg==\" value=alphabet|interval\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-fields sig=\"ed25519:sample:Q5GLBOy+x26BsuddjzDaFhp0j3eChSHYNRgyGABib8xC6LxSKnQR5rPzhYHPrnMQxqdJEh/4mZh3TEWpp+0yDA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:zVn5UdGWm3oWE+uhaxybVd//WO4DlzgDZoXQ0j54eNDO+IL4GceCEUP9XIZEl+XYHhSKgZLEGLLB8O70QC4uBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:CvlRa7DLIhXoQVk0NWCfjNl1EYyTNUAvbfLHO4Pe2ZuGKaYQKEOO+3NWJ/N/nKiFJsRhMp3fLB3OcbD3ZJbjBQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:evidence by=north epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:2ivJlNtZFlnex/GTr0uonzr0qHi3m3R9de88u5/zG9IAVByLm1iCofJB0BKPoD/nQvpUBtatclFDgRAOw/QNCA==\" value=ed25519:sample\n","standing":37,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/program-views-1/TARGET.bound b/samples/program-views-1/TARGET.bound deleted file mode 100644 index cc4b26c..0000000 --- a/samples/program-views-1/TARGET.bound +++ /dev/null @@ -1,37 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:JMza0TeLHbm1ooL3QhBDuz9O8nL1AvAbPFLtpBXTr9Q7YW68nJwG6vIHLtXxn3wiBJbSgDSL1nvzVOnNVMgADw==" value="MCowBQYDK2VwAyEAynHvXZ9fxH6cFG46+Hci/LJJxFIpn0XznlI/TA2T3MU=" -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/fold value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest needs=fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc role=writes scope=dep/programs shape=1388ab8a6ea378b880a02f876a8983a7acd761501a2f6ef87f7dcd8582c639d1 value=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/programs value=sha256:20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=demands scope=view/card value=demand-card@8 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=demands scope=view/programs value=demand-status@8 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=reader/empty value=refuse -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=tasks/minimum value=tasks/collect|tasks/catalogue -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=tasks/selection value=tasks/collect|tasks/catalogue -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=policy|place|origin|witness|receipt -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|view|region|uses|dep|tasks|clock|reader|read|fold|receipts|rendered|resolved|beat -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/kinds value=capsule -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=receipts|reads|coordinates -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=receipts role=writes scope=region/proofs value=proof/** -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=alphabet measure=status needs=proof/catalogue restsOn=tasks/collect role=demands scope=tasks/catalogue value=present -bound-lock/1 at=policy:sample by=target form=alphabet measure=status needs=proof/collect role=demands scope=tasks/collect value=present -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=67108864..67108864 -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=days role=demands scope=clock/ceiling value=0..14 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=30000..30000 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:sample by=target form=interval measure=resolution role=writes scope=keys/device value=1..16 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b role=writes scope=dep/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b value=sha256:20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 role=writes scope=dep/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 value=sha256:4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 diff --git a/samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b b/samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b deleted file mode 100644 index 97cba03..0000000 --- a/samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b +++ /dev/null @@ -1,11 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=capsule measure=digest restsOn=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc role=writes scope=offers/programs value=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/ceiling value=clock/ceiling -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/elapsed value=clock/elapsed -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/evidence value=proofs -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/minimum value=tasks/minimum -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/profile value=admitted-demands@1 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/programs/selection value=tasks/selection -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/provider-inputs value=standing-projection@1 -bound-lock/1 at=policy:sample form=alphabet measure=reads role=demands scope=offers/programs/inputs/demand-card value=wire/programs/** -bound-lock/1 at=policy:sample form=alphabet measure=reads role=demands scope=offers/programs/inputs/demand-status value=wire/programs/** -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/world value=wire/**|offers/** diff --git a/samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 b/samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 deleted file mode 100644 index a23de24..0000000 --- a/samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=days role=demands scope=clock/ceiling sig=\"ed25519:sample:pd9BtR/V+ef8tm2g4abVZOV3JDk/TqBG1UJE2vKts0Sbxv/R87Ab8mrtLLKSNf/ZmMZuq3ZRS8lmxNrc8SNLCA==\" value=0..14\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=dep/programs shape=1388ab8a6ea378b880a02f876a8983a7acd761501a2f6ef87f7dcd8582c639d1 sig=\"ed25519:sample:H6LolJm+itQEEJzPqGSTAe3pQhnfetEYK6VwE5jCRbk+EOQNA4zOmQDGnsYswcerqgnl68NNOgYdrrcgSxQdDA==\" value=sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:kURkysmfMfoGdy1MEhZ9jl1bcbqzppR9NxIZwgmts3j6N8TGZDfukOu8aLuCDK9yK67ge0w/c+NmXq24hxp2DA==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:m0kpD3MBlYwlT7deQBYwrHYgI1FIotkkOznP/N6U5OWaZU+RR1HAAdYbVZ4FprmrchDYofbCVEypgstBt27uBQ==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:JMza0TeLHbm1ooL3QhBDuz9O8nL1AvAbPFLtpBXTr9Q7YW68nJwG6vIHLtXxn3wiBJbSgDSL1nvzVOnNVMgADw==\" value=\"MCowBQYDK2VwAyEAynHvXZ9fxH6cFG46+Hci/LJJxFIpn0XznlI/TA2T3MU=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=resolution role=writes scope=keys/device sig=\"ed25519:sample:K2Jur4Oe/71Wfb/HjBNrRHBrpaEm8Y0XOYnq+AXOSCXB6dPgDTDoBWZvfIl6oCcx4czsxhoP3KaprZd7SjtQCg==\" value=1..16\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:GVYFntuzgKBety9g1ynCsKtreRIFbP/Li0mDj+bAIhsjOLXIzUGeJ1P0vAJ3x4VwR/JC5npBTLU+1t2eXHbjAQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/fold sig=\"ed25519:sample:ThVmm+yibKE4/NrF8QGzP9Vw69HsEp7kM8mSNFEEe8skUoc+j7IyWhL56gDOn7fhO+TbjAh3IXuJotflN6mpAQ==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:2pHPf2WqXVBW2Nv2kDVW1JthJbQLoaQy0AagtoIITeXVKkIhOtX30ivZu7Qp7hBremc+g9UxZuk1MDWqvXvhCg==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/empty sig=\"ed25519:sample:ykjk53U8Jlf2B+E60shP5Ur0R/ejTD7v9z2CWlPenoCh12g3d19K//5lWlZwE71Y4HD7VrJpbNPMsMZ7ivyjBA==\" value=refuse\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=reader/inputs sig=\"ed25519:sample:R3aMsimjAuFR9YB3pXS5spAr1ui9YL4jEz0ISrlFKhLRQB8xU3xtPKSxjR0Xopk1ZQzL5hfwg4tLEpN8QZ+rDQ==\" value=required\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=reader/response-bytes sig=\"ed25519:sample:XfHjeh6XV5YnhHNCvjmwHPHuXb7lVrmmriVRrXcRXs0ssX6epdnp3jVJSUjfcXH+gmjTMtPGrHKJWFS419eeDw==\" value=67108864..67108864\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=reader/timeout sig=\"ed25519:sample:Hyffngq1/xa+hMivex8nRFCXp1wCNFG6amPct8NEYNrl5ryeuaIxFvzSYPjQf0+XTQ5nvijWpStY9YATezZ7DA==\" value=30000..30000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=receipts role=writes scope=region/proofs sig=\"ed25519:sample:m3nEBYUIjxfVzWU3ece99hbX0v3CLdSTkjSTH1JH6rvljs0H9hfXAJeKHNvtIPaaZy1ivJ5qQUzVK7inkd1XBg==\" value=proof/**\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:lES2s4kwWPCr6yvI4mbWKyFhZlR9FfNMojG7jyuGFe8TtgnibDFWT1Pc6XN43SL7GPlJUQtfno5ir/lrc9bdBw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:xImUq9ArOxIkom1kEfpXY3BsqyWjue5VD8ZXnZkYMNq1zoGcTmOm95l3TTCiixdtHA0DKC6zUWEZisXQT74fAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=status needs=proof/catalogue restsOn=tasks/collect role=demands scope=tasks/catalogue sig=\"ed25519:sample:srOYzWKnscZqZSE77n/HUA0leWaoYMau/UG2aOS5mGoq/t9tflfHlH6wkghM3tv3IHVDGAric/edq7lQEbfsCw==\" value=present\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=status needs=proof/collect role=demands scope=tasks/collect sig=\"ed25519:sample:Vhrcyzur1InNjbccpmmr0dBFNzgoCJub4z7jq6gGkmUQl68hM/Ahq50Sx6I/C/qaXaJEs9LuKXP2+VPphDe4DQ==\" value=present\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=tasks/minimum sig=\"ed25519:sample:XPcG/nLMuioV4g0OO5gdb/jZfpu+6td467yIM4gCEuUsSUlWJhE9iIbuFHWYesLulG7/RfmdAODGPHh2q1UaCw==\" value=tasks/collect|tasks/catalogue\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=tasks/selection sig=\"ed25519:sample:vwlekuPcyueygxTxGMKnhwDLKTlF8GJT92G90XeNPz8/EWzpK/lFQAXQbX3GPXLhVPkyMc7GuFNCrAPRRfCPBA==\" value=tasks/collect|tasks/catalogue\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/programs sig=\"ed25519:sample:nZHGqOrbs7WGUlNUbQp96nBlcruczc1xGjh9P7RJh4YvDs3bzO5qFUG1ynI62Q6iUZweDiHrMDsU6DPJP+KdBQ==\" value=sha256:20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/card sig=\"ed25519:sample:uDB/FZYqEUIsM+Xj4pZ4MlgiviCeu0PXaDWUiSVBjXRqV0h4ji8NhD3/8xrAiUU9u9w8hzn/FG48LbyTEicXDg==\" value=demand-card@8\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/programs sig=\"ed25519:sample:TfCrlJxNKuFCFco4ylugvW/8XqbVixpa4Ocb6cezeNM+wiaI6POyfljk73zgFiB0e1yd9mmw9yt7zXLotg85Cg==\" value=demand-status@8\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:g7KtII8FQ2qk667LPzRHFfWqbvQJhJZ9UpkljKw3pP5PZ3yUUR/54xloAeL5BuXxdy9xI1HQTu//l3oYP/5tCA==\" value=policy|place|origin|witness|receipt\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:gJqWjIvepWg4W37yNB5hBS6uLtYf+ybhhocEjBj56opyOTe0zcgDwrIkHI1XO/0m5mDpodyOZZihxbTaIw7eBw==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:jFgFhqcwayqDypslhCNkfzq3XKUZJBGINiq+wgE1hRyXqt2cTGYw4xhDljfuvoXsBKQ/x2scwgqLiCLjC9FyBQ==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:30Y0iohT4ZoLxAIYyC+ZiSediuR1QY2dRVXluSZOLFTFbdtAkExQB9hh10c6qvh6FoKAFSrpY5zKlc32u4ROBg==\" value=keys|signer|wire|tree|write|leaf|view|region|uses|dep|tasks|clock|reader|read|fold|receipts|rendered|resolved|beat\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:5VH85B6ytyFFtYorIT1x0YLZ6IVz3R1926+781prj2EHmp4slrkovYUngTP1iFBsqcGWBUXWH1dJ8sz8y29mAA==\" value=scope|role|form|measure|value|by|at|epoch|sig|needs|shape|about|kind|restsOn\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:rGeHTZOLtVVEaHUkAsULl2YW2DxSeYNqz4I1++gdzbWa7RvxUhYXtdo00vs7Qbqzo3d9LJFZsgL04CzwaYzGAw==\" value=alphabet|interval\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/kinds sig=\"ed25519:sample:Bw55gRQCZJkQu4P+W/LAkZjrlCfcifzkb7VQpFMC8azNN/cyMRkv6CwP1C7EZR/DQGV2hpbxIHNrruf+i16cDg==\" value=capsule\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:4cXSjRe0L3TnTZ5SkKgRGZJIg4toRth+W/xvkCNUAWc5ZYBG4qLaVXFQ+eAK4O9bt3XNoH7B4aVu26YHVdjYBw==\" value=receipts|reads|coordinates\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:Hk43rSn3otdXuFoPWN+6kDZX+tQqBZ6WCrS0erVolKkP4zmnUPcNocgEzaPkMZmw9KKLSyrQxeBzrqSDsYjZDw==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:gwpBvrVZYzPre3j6WeYqCNh6sEYCnVIWFUu1TlFu7pGioZJYYm/NgirxU2ZAN4PW+RgaptOtTDIqWFom2nW+BQ==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:TG/uPlzO1GqLWRGcJTm8tD6b3jgO+IEW1flxBkiW6IFvqN3E0aYNHvNYA2ehRHtPHRsCLgYTb5s1dgjXHFIrDQ==\" value=ed25519:sample\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc b/samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc deleted file mode 100644 index c339df8af0e7837c54c296e4f08655379b6fe57b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38752 zcmYhiRZv|`8?B4GI|O%k4^DvK?(VQ~m*5cG-QC>@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S#@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S#@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S#@5LmdoOK^90S%+``yH4%vc`;{K z_3R$+7|$Syf&*J%8wP+uo_CF>u8%a*wqEIvkB?t82!?u($~Q_Vdj`|GNlR^13hBO` z&Pu7|T{OuElt9Io2mOG+60NN4=$N`)a6uJ#lKS`Z0Y3c>PW(oZjh+EdNz9lklXc!j zwSTICE@EM3X0}g3PC+guMV4_?MMng^N+0vt98-MOVY5!~{-6g7I;HksdU25DAe`sY zlYLr&%@O21%;WTBSXr2(H%x>Ur=p^%(#FX(D;6Xf#~Ie_*^!@(1cGQ!fNy!AH{p*X z;g1u1_!iu{W{^52{N~4rzY!?w9E5uA@A(O=g}t3UTV@$lq`mQP1c8QiQbB6npu9d? zZt^=m)7}^Ix1Xwsq4$cQ6JgK^NcSDtKsG8ugeZ?fTt7vp@l_{f`%xIMBt%9`Mrw2pW29(X5`C_wTHXXCDH-6rEhRlwQ<* zW(@;tvK}4`+d3ZnY2e>JE;$jmwm3K&|K(ZEQwnU2k47VFF!63#F7TDgGELz$`LgHa z#RmvZ(vE5(b^wiJrD~ZP>E7j5=?f2xxx>QtC}poCTqW^bB|8r2mxU5fA}{?xA6L5! zS@4a#APZc)5Hs|eDp1^IpfGn#>>;I(V(iJWes0Nn#U9L?|3*W{4KQip0t7r&y9BlI zp!&RiZn?P?t%I(}TdqJ4H|ZaH?r$I#Av^zvErCzBrfyK1{`m0{NWVDBA??WJ^Sc@d*5o>G*AqQk+;;D7v|L{Ildf#(ayI2O+*`PIQIoAf;LVT-?ud zyw??q2J4js8~fV5q$g0RxmV6RFzf&Qj@!>ISEQzS&=qCNC1}{Rzxi*&;@4+BH-9Yp z?>&1Eb_#vsgF6X%qm)Cjz+T|l{JNCn7aeJMAA!MRK_)A?F_$X z{~PvD?O1^Od;IVm#j9)O>zP%b_Uik11Y7GwB5&>eSHRfe@?Qd)Y&qF@%qj{dIKB#o zjqjs*UZDS7X;~`0Z0WtNHqO$eRVaiAM6X;M*wmHaMdwxXE&jGfqqxq@0U!Zz0^qOd zGm-CViYu{k>#-^F@z8!RoX@Vjc z%4yi>L&f&(2NoLs-=ivR5nM(O=oCs2pL7z{MH%D;*?1exn87CKaPw))zsR>v5W+`G zI%a?EHUv;M8uZa*WbVwQjdG)(sxaN+qfjG*=h9P#zi@7t2b5BbHjT2_>mBq(E{J;So08i%p0XM2lrmBZ$B5YMo$(b+}a; z=YZiWi;hIEiv6LJ$j&&`LMI)kx&Mb0N{otwm%}vfNt;ZRvzlzQCD|C8qNG8Y&SoH7 z-TNx*m6G%)%twK1*POh$C5s}?DjmgSg?qi0S=8rx8mutr^>iEfp?OXYZl(C^?(tE= z`{l6aNAS-dypayD^ksyWJ)o!0F8`;Ud=NFkJ;`Mk{zKpv45~HgdTL`7ED!H)mV@BY zkO?<>EMVyaLN}y$h{#bTm@5hbP!kqCH|i8g;SerJ=f|9%_N?fv(rxi0*wEXd@3a1t zo{@>YuLn49DmR&l+QZ^t2xjyM8_+0R{cI(Al+5^MV#`_&dBLnfZ!y(-pvz533FYf5 zL1(H|wZjzc#1z*?c84@$w&(l*};bOn0!AK59A$CR9Ua_wG#$fQA!4PA}LmKQVN zA%t!c(w3*NON}UqxGEs^pVkU@VZQ3{_j@^BZIWU!Y=}jB&tyK?rC`m~8;#ViK6g}M zBq^edIbMzWv-K^;JNT4+!1*KpWU-{sEn{1xOdFgtkDBb_EZSz_CCBo+G+@;TV|hZd zn{FJ26rW;;@B@uu5Z`$z&qDqWqi~P?q<`YV+7RisNx1gvDKAr4^yAwV0fW+ukBVP6 zjNrgH;)P(*W$sdvFGMiI`h2N)=rM7y*JzX;%1xYE6~iwS;C^*Q%7#o4AVZ#1AET%z zg1vDDT6-?sn5t3pCZmxqo4Ix%G$#K5djzaN0w)5lh^ZSLk}$${GoTp!8v)XdXQnxl z1e8~~VsjX(QxJkRglxgPQ8=m$*638WzYMIucQcn6K2dK^TKQ|X}Wz`5dgO+@# zgb>@K{R!t^Z#sw-YfWq09>xU<`TN}8MWsy}oqD4GE!uIu&&@sZg|~JD>IBu;OR=El z3VDC*54zC0tOV0>NaMHvGUisaLIL6p*9%H)ntq!T_Vx$T#l!}&x^@Mi(OkPygY%bK zzIdN!HsBAL&X<|aJKdAUns9{s0K5))7b?!sPt!{eyqD4D?DIh_M0H6Z_eB1WE6p64 zkE_SSz;DO?@*5}jz|Nm%_rSfIm4~lqxOuI>S3_}-&FaGg@D8-5Y{JfeZqE{OU#Jhb zAUB0)7kX)z=gGzN8h`(BSL{kqTe z{ag-CJHP9#$|L@8X6>EiO1gV85=XA2e}4P^-h>MJ7wrED|M^1v>2(Lgz5cfwI!2QZ z`l2LWSft&tHr!tGtlHi%+$8PSIS+#u{91)9yngu&-aS>4B-&}C5`9tZiz6pNZ`CLq zC-KpTkT~&O18@ye4PTVo^EFWLrAt&5DaphUln#%9%|)1gX4VjTk5vycob>WKocd;Gml4&m&My}W}qbLv#I)pU;bD9TT9 z4(B=4%B3S+bhCWHsw7#o2$3m&SUS_C1kaKD%@SOPxz?_9&AK&QDQXRpOhaQ7Fidd8 zpyRno^0!OEgOg2jF+miEjeV3I)f`_9=jL2RaO89-4q!dIh}6Rb9_T~}TcNb?7}Up8 z$+S%&Gj?GHG3Y8p^%5a@7e8S=^>7jG$7%znpURgr)Kw|sS1?Mv#h^?6mb19Aw_vFb z7xJ_pr<^U9=Bi92;1i8366~~!$L=Inru<0wMQo z`Y6lW6I4lz6AV|zuH{)dfNt1?U!xEwO`xEOKIxSZ$euzf<`dAPctIJgV6;D6Fvk!| zorfn8GwGgiAe(79k1gPX0(sW~C;UR23>e%`=-ZjeeRT|D`g=~|L`)u~xq{uY|Bh%g ze;aYUAytQ+T5~oMHH(@Oj!?3ud=9@ot~4%+;^ z8y!@p4^#De|<_^7q0KUCvw7_!hhGx*ll zFnPU6AX9CL0~Pjt$R94l-4#n2gID92wKo?2v$i5`n6f!|h5Le+m64#`bh^#was2k9 zVJBKpybTF}9=8T_vm7o9=m`8=X5|L~H;NTNZ|Y?#pw2F@?fC~_tBuE}|95Gddtj;H zqwAMU^SiNrs{$R~IIMDkgy&ra+jK!53G_?IZ1BdzH7gzWh`N~1)G=mCMap#25R!RN zYB9bQHcU~Gae@o|+~cXQI*(rAoyX-cftEX9p=(y0VmB;+k#^iPtBrnP1Lw(c68RnA z6(|2Kk$4;Aa%n*w?83dgn5i&j?Ljm$22`mrdQM0xW@Ext45W!vNX>MDu|$F?f&HKM z*sK-*H+KX_vN`yC0( zj6nq+H^T0T2ydtj(jabo#!NrC+XJ{kWRtuS=wU}7elZhx$oacjHPw< z;P%;=^5D9IgP~(v9CVJN^v}1a&A;s)(Kw9T30mEs8h<}Dd|#-s9p*Q;Z*^TSl?8a9 zyT{LcAFhvax|J`Gy^#Qr>ylMa`F(Z}dE=P8DC*fw@A(;y#gvtW)~*r~Zqp*hr=;}* zn0Th;8(c6YRdgOgU1Q5w0k-a3zx9}MOMgpQO}41qY`s6K{*wUTs8lQ!G0iAWq#)H_ zQo<6dAso+?wb_|ki;OK#=wgw@VlFpt2wkpX92U~kX4ThZu1Q%xA1r*GFsOBt{&;wp zHnk(EX*S?sM44kX?OgDSs!?cy>o4+~w)hk1+<*O? zW0V(T$M!^RiE~Zp$JI!fRi)`EOlgc*elTP@-6pQ)I*%;c>f5Tn%>Eme1J+dFSf4yK z5m$KMsSt~?1ZP5OOIyYnq*oWb02C`2VbC+qI-@TKXWZs0$lFPR2Z;M3dacB4h7 zPAj8e&9Z%A5+Mi7HstM?-wxBC0Ek~} z=x?}ZB8Ka-^}qTXvGvAL!t|h5MENWQUT+qA@0OLOHw==D|E%L_S)jDoqSOVr;-+DL zM|^B){vEJtmmhoC7b&9^Z>2hP*#l{m6ACmY#n`6#q%ud|{e!#5tJzwyYm_>hu-zc}TpMysi z-3*F@5ME^`B(oPede_~rchS&&R41{^JosQz*Ieqce;C#l3)>F-cJLZ|ST`ch_O~_a zO8GC{0(?>$ZCfJ0p<-y7hJy=WjgeZTAjxL&w&9{3|5!Pzj%?F>8!#SZw;s zH{75Bu8s5^UbZIu&M78EV*wJw9wdfh(|)pjBx7QXH@QmCe_Ft+)Ej`5x+2(oq3P`! zL~Vk*TU>!P)XfscRITnTf+OnU8asU=&0f;yqk{aLA8nWb-A$ZWvJzq4GRYeUX39CV z5&VI$fEl6p=-zx0u41DZY|4^+)@RGFk zYyD1yK+>q(=-!S?dup*wHA2JEgAXNN->MQlKBf(4oJO`|aW&aub&KQeUAdN@cGsUr zEo|6{^`&Y4#}*NBmDyn@m1?}!UGS}R@9grBU+Cj~xj9Dx)S0!A1M*vxz5#8m3Di5i zpBZd?Hr;`?l-WNX@3tDgU;YCDgZ^h>JTY#R*MUkGSN$(2Q!E?xfYsTfezn#;ZFt?P zzoIqk*}QyEo|;N__%Jcqm7F>FOp67lIWZ;^vt@S`FT3yn(R0IUylHGFzM^Hxti34z zv=uE}GeRyf#>pXpzG&@9uHBW=3~bV+l}@L>mEK)S{1xdxpwXyHHha^-pQ;R^syJT) zA_;1dN81|!Otg9hjHB%g6*CJ0Gxia|X4IInT_n>ycn6~ndTrzgt?=hFA$}}6f$yTJ z$1d`gcL#jrQJ!$<4OoBd$*3foDCI4xv?1xkXuAt5F(p#okfI!+r-sEIMIT81c)Ohb zgeEDI1gZ=xF>L?VZVgXNE?Bdv`7Xr7Vft3`d?xAb09r>%CD&}@)>@f5( zuW5Y)*(`b;HSVPBpi+6~B^b=zSUcy#1siITm|v~G{rjGY!Cv`6k~2FI8i1K^nwQ`e zC8pV^G5d40K1MPUl|rC1*j?tiyt&%P&Q2CFiqQqilm|j3e0EM@p^UJ zP2fpOm+XL5gxG+o4ls#dk@VtIF4z*rfpP3^jjbiJqh~GcB|~TDT*nXA{xh~F$cO`O ziXwG4z@Q29H$4hPMYem`UH6qDRrYDN)M~Ba=R31{$4XG4Q0n$ zyJS$35_p%+-+QA(;6ht77^PRADCr;J&lOQo^p#gyXI; zZQPCySp8Ic(g=@ftl8-eg#9+Nqwg(fYrjYz@}N;uZ0>F^P`c=-6$gB_)xDg`rj%yg(_|o^E7L+7AjS! zc;Ixr)cvX|4Ao2sDsH$F`P1Wp1&jeA0836|z^7J`k6q*F5N) z((Oq2OCwMFxALI=8vsqacHZUb7ju33x7w{rdVsdl{&NK!h(WFE;UHVjjaOh2W!GUT z<#dbTyjcVdx#KLtipuR>!Y(Bh##(JSvvgsHBa_AsJLC&XAsP+WH2lEl-YPx!BQ15! zp(w6esuSdC`>T$OnMzg8$l#;&Y#&UHaJZt|yOdxx}->H|MHZqkyUw%Irm zIb(PD8<@2g21F^tXN^*_k2d-6@yOyTuRBqtu7a63n&*1NP%8HNLRt5o@^Hc4$`f4{ z<VxxCX@V0-Mha}ZNk6sYb0HJkq#f$DVi-+?*BTyOqig0DH?EB{+- zG^iKnZRpeR>Jii_{rf|+{fULCM@W1)AZ`f|4))g+J1i>0wzG?!BYCea^s_7E7N_Nyn67X{{%e6zho3(iiR-K!h%0vZ zbCUk&0hYMi!ut>+jHeu=A74tdpemBaR55r=KHqC+q$GE=lD(*eXSvUkPP%1ShcLm z@DLXe+nInruN{9*J0=^RaiTkQT3Zsby}zcVPY&HT!>3F&NxT#~Yr*t1SkUcRQW|WW zZqLu6G7|`G)Zd1856|0P$Z|Iy2fd(CHnV89KGynoZ>s4vhJ5bID6Q`PJaNU5?l}=KNVXd(;-Ri)7q~(?V{ssE!{@zUS?t zs8zAy5wJ5WcHZQ$3_F;x^^e?B%H1|tILGzJN@qIF} z*E83^rG^LAx=WrBL}*eGf7~BQDdyfG*4OJG+d=duf%_z-3g94#I5d^%Q_M%QA|U=n zZzORci$xZWb>~la1h0$lS?k6&(PC^n#eVCqoIqB8pt3}!pO#+p+u4NA8(n2?X_Thp zp?TJ^Lw&NPrB-)K8Wu_|P>du~!QAgtPEn(s;KGS_))|5z37DPMNliSS$_c$Fi7r+i zE2g2+v1_z~EaAYWLV6B6W|VPV3F$5`fK0*ae>EF{hgR!Q)fz{HQe5*UA0?r2JkYJz zp(e2wwyl&uwW>|4v0<`GDbs}mS+h4Uhz!UM#5iOIvLY$25QwLJEODQ~9YPH4)%5+N z4{@m{R?pS#bu?F+U^$eqy5R6c$1Eqy&@9HTt+jeY)Jee=kAC>LEG1Wd*|KNuBeha7 z=3LOYTSLQXcWzLOPg34-RojTJIbmLIqbl@`9P4+Bn9pJ%;0!Xzs9S7-4= z*tOpg+~?0oM663jo+>d>0C>aJU>;Vq;ne0naXJq4q?n%1XH{D%{D<5hc0Yy57%|i! zG0>Y75YjP;9nL89Xlpb)E4mghIe8PX2Vm|4)}37Vv&`w%(kb%N>X^NF*eu35nA0NA ztbgbpP^QnRC}0Y9l@Z~jqacENvRlvc(<8<4lAI=u*=p-IK?VQwob3zU?)yE_>U9$& zN{h=(SRV{ruIC4_TD$Hi7@hwvkScUS%kaaRjpr{tiymgO~g5@zLIc7l9EUA~<1cTeJfi>u>Lc_jJ2Mpk>y$CJVw{~M~qd53}}=w`6& zD`Wl&v`xM2`$6NkUm-KD_4*@;*m;PN5Q_;Kf!M!SS@Yi$@pm%}ZvqpZ1|ul9`AI-* z{*ypP=$&ZM#bTIUzH!+&OLXiq=BB#C{BOu!1!5kw11Pc5hDH-JOiuVn=K`kv8yFZ`=oykz#xKt$=_ZAr<5e;O% z&KbTC*D1Ci%MKI6Mz!J>Hw1GF@it11QpbW3v>BgbiO>s#i?8xzww#fyyV%6XYC704 zhpue0sTbH_o&wta)o>=|5fIoi6Zk0GYGmve(xvE&V`789;EOQuD%S|X_*TjTRIo_} z`=+72qIblg1OJGE5eMWxorVo!n2u17s0revmYc$SDp~xgrfr5gAUo3W7AlIqJ?&ye zUJoWfj_9exbEgW1!Z0>MKUipzv`cRZ|3M_j2yw%TujiB=xbg|jy!4D^>!pvuR2?NO zx3ov&WMfzGqtkZB{2-R@$DOpdnASAp@FH4DwP8jMm~*k1!TM(~R<`RcHwM);De7+GKbx~p1rJlNi zsCGMIc|&o7@+*Ho8?sg%x3d!4AW5yH)#}U;`KV^dJg zPYMUVRSjfi0{n3=1-4_pQH7`dik#D%9FC#j;1--`9d@_nRWR$=>nSul|8AOP9-Bi7 zx5pZ3B168lsyAGA=5IHD{FPZr=X^d@DMW&{mi|wWC0I2Nx}>a`1$CU4U3t82{f}GV z{j?jlt_FD@fq+?R$Np6i@r6*I|1g6bvJkY07q4(TXz%s8jM*f|S=1~LZkh?)yej?D zG(NCb>3+PBUfo>>_Z5}fj}1^EEzmm?opu)B@Yu%x`P)!!fv7Hpza4{sXd>eE%oUTct=%j|2c0kz@Eeq0O&<&m;@KxT|gVLa*b1k;C|#tXU7HN#SfDhJvX;kyv1VllHfzCGD^DwR4OU?b1Vq#zzn= zs%})^8P$D)vsr(gso!)?9C+tb-+cXs>Z#bcCSIzQBBn1l2FuC-6r@vKwnph{@wJtT zK^`S`NvvEFPNL>Z=M9md3Liz?-8{hQOdP>+8U2!Io?BpA>nJ>a5t^Yw?Ge)@Y4txI`MVzYa#vuEF_KrjEnJ*@T_2WhuW4iu^) ze!x5eSa}Hw*j5V!t-j~FrRYv&f5-1bS-))WOs37Fnjce}n!d%JQ!w~VPtd^IK=-Jw z9Y~h`BP2d|9ffUt6#9nxR7^oj89r;h+F3K^pNaE%fuwa!g5YQ)?ij(aBV>4&I2Wn~ zcY1>Y&KNF~q3S)tPL=fe1;GB8d~s~o@*sN;!FCnpf2A^?o$B1NvE?Vn;-tpth)HNzf5~?MYV7=hgqhj4jY{#>0)n$=B?*r!d!gA-sOh`1)IJ zTz~a+h+aqk@L*MPk(PMS247ixqp~WqQ;Jr-S4gkt;4%XH2eZsg=DLpBk27;_sfI@N zxK(P15DNT!vnJviebqEjy1A;%9L@nP?a$;)*{ber!`MPA6qeID19j7TA#gm^sre=A{SMN1VY`0qL&tE?)YS6x;BXHZu|lJzc8E z8)6QkaY@g`U$V4W*7opu^VVkI-d9c^(`ehGh}OpN`WF8=ErG z;`35})WtkWyJvrsR(&LwVlg153q0`5U5@kf@m3SsySN<_N2EYO}@2mD+3w#5^ zby%o7^J`K`I$ZLEzjMr@5^jA%8`b@BLKQ51ArB@+Y)6yS3&r(d6r-YvP1}W5J@;a)P_)ZRiA9Hx z5*Cb7L*Y6~{GSDb!VdLxmV$&`7M>dlVMKkl-JK~LnLI#B@vMxMm`n{?V<59j@4IqM z-nyE%o}((_0snO6=(rM}n9BaeG}n;H?PJ*(sHkYAkx{rXR@QFb5qZOjasCde|AAbX z)r7+Hw;z?T`=sESmeOTDgZ|(CGc=L(7ai6{R%%i`2@*na?lml|q-mg<627Yp2 z{$Ol+B+H_q3rBs^G1QSll`T3Vi&KkzJBI$Km%%~XCk_&FzA2;)QZ#3)Nq7amM_bPLq4c`oJw)-kqwBRS*Gx_04T-qdu&uH%MZQ^62o zKcSQ_qDI-k(5s_}s@DswV!D=xKGIejgMunNYOe-oX6f!em+!)emOB+d9fJo@PA0b%!zzi_os!mr7q&pT?8c7D*F} zQVbYBcJAYkZnbd+hLG{R`Dz3)5h9QpAa;=T#F5Z%gj{6`LC-KNS?vh5s5;2B+U2o5kZZjamf44OlTVRT z`t{3$`@BkXyj7CD_z(D#9CzHFc00kb{;0k0#L5z^Ex+nN1~H`CPS|FN4+AI7QG#E# zYzPb#tH8PTTNvReXb zgCas@CUyG8fyKqC%EhS#fH6@5k7?_4)7bl}`+?TD0{mQz<)9nKY9=z~qt;t_PRk>m zF2YGRre`_!xE+wbJ>uz4zTZ<0wWh9mA!Z(SPrag%(bfko!59z9HE%BiW=i+e%B|eI zxl26!!dnSi_+s+9pxZ>7K3B;|VoVUiWewFh6mNBEX-l32HS zZn0_jpt!J*Jdf*AUa((HU@QhRMm?xZkPT_L7Gqm7%GHuKSjd6aujp9^QjgfHM#^78>}C~ zrvM?ssWLY5l?gU;lLUz&s@KqIhC*W8H3epIO5*{KEB4wEm1z3FT^^;r4mD6w-kLGB zPA4x|k_J9urLO6TbMj60J@|F$yxCj&53doL2lP01B*x^K_u!k@oZ(m&eC8U3GQI&N z(DplKuP$KmmuVd@$_}#WOE5cmcXfExs~fLka31O-HiCbLI84AF-`>xzkden#Km?Bh zrW*0~!N7`B8_O6!v#uaVQ1KwPxYfV$#w-D*N&%@%CiBu|T zA|zaD5i~VyT!3pX@3PwHF{PnVE`))iGa2z9j zD?eDQ#3+D;-)Q|hsUFhY7+YW$5iP2IayxG=M#B^C-OfhW&&ut-5~bEbaH|8um)$hi z&TE0Aj<)JnNkdvtGHp3TFh;U7=gEhGKk`IiVQi***J-9<7RN?xf^0_}nuW`W+{$cF zI#QO>kha(vz`N7IQ$vc)@fCDyM-|kYEnIPWE*^YN9Bx=se+9joO8{Ez-jdAtOO$~P za&@Z-3$SdQ(RG8uocsk|l&qNNP$`cOOCrBy>JzIjcu zgOA6w)Ez?9ffritXj!>Cujok^<%+|(*sHbX_5RVkGr_En6uOfUb7wey{@+F0fucTS zz9yse=^V_0toT^FC*_ZWfs}JAN^B;l@0D* zX+Te?(oDr&6%n*00Q{!UQB>q$>U$Kpm`|O4j zDDQoh4a=wyA@1RV9o_R7g`v$uetS}owzmgp-Cl(Tp-DR#Tf zt6MLf9rZW#`A=Fny=Qe;a_)lu=)dRXP%@MK_5L`1=w(3i(2NkKF`27D_Rw^C^Lsyj z5hnTTbHmWH1BM76y`_}2R}g`bmo97kzGrL@sQ>H)lEigfS2Jv2rBe)JX8zWP0xlh< zS(i&Yi8A_wPKg1F_IITefAxwn>ns2V=^$d#T=w`oHRl2R`@|c#d5cnb-q10rPi~b8 zmnbd>)ozm=A?Sr4YDeU>-&hD=+9j?OsR^b8CoDJU!DtA2erTj-Y8;;eo(a~VsgC0tZZX7t;{yYz{XVv%EOqcQ5{7l zFcMa#cL~~Osx?d?`Gh?Su1rY28xL?oEDk|T6L#L|UU4tOM*V!TZ&`#jeW-g?ZNgx# zwyXLb!Jz*xZ(uWfjFmn(Rn?d@Ki^#9S@HYLN0f9C#WanEnex`m-wWFQ0_k?H2R}0l)bFy6ZvS_wPU7 z1zk|KjDxx_wNkk*_y2F{!w2;Jt*-m?n*z;O6(i-7Z?2`pb@oMXtKRz=IK9A*2`G}A;?vvq-(U}JWO{!9`sSNZR|r56J0q+AS#?P{oC%uz1G(d(A~AfoZ3J4h}(RRLAv7rOryeMtLO`{V9}JAVk&y z?pMAnK`BCZ5d?(Cm*=Qg7KW_SXXlsB6#T1I0=lKkK{`ed%MIXbeioc0P%sQj*?!(Z z=zj=IxcOp)NN^6Qv8PDUVK}R|nxcn#X3}BJf6uV`46kVzsi|t!%Sa(nrq)ylIQM{h z{fKhc${Bicw(V{fzonlEZZz}sG|J@nv0MG5l6~nABTzHUY1tIf$9H{~u~rZp{q{kK zS5$yoiS%PZAs+?qAAy`3K*E8#66=H0rUu*HB~|I>;MhCf@LL zTWj5n?pXlb)XlEW3`lYb$6uc2>v@mvb#t!rkwZc+cQ&CiNKR>&BLHBN~^WdbjDbN6_~#gMnZb)^RGp2Dz6InOWnNKu$~HshXa? z`3Je>FGbs=m8t8#C(1X^ZhH(#^9^Fyz;68XYLa)2P8EzOiIsj_kwo zwVsnvBd9=-!6>uulrBQ@f|e zfWRacQkQlfO&3PmTtBD!7!e)#++gR01r<6$U3w$%pXz!6NZAH(;5TT~)m+c&-T`S_ zby)Zv_s}J?%EuwC7tfT9t8yg63s3i+=lG>0KNJRrP>_89d=0%8ma1V<8C^H&yt(q( zya?nDf4_qL5&zir9MJjKv9_g|lYEy~GYQEP4`M9(4qBDgp#Wv1o*jQ>CI9ETHQak2 zu8i{^cm5iMbBaSr7>Tpcp7r6uH3obWJxZ6!1Cb9}PGaDUE-XeV!?xd)Bo>HeY+Ujy zehy3lVz{txerhIhc}$s~d@s*hH>$NO_^Ym|#>vRcq?t8tY7y~kEbKP+i^hpfeCNlO zP1ju1C0*9JaeMQ3Eq*J-kEY|Y1q>u8Y|J?IYw>LK+zOm}t39~_;(Lsf0xh9x<*h`J z<3bDUPHf~od-7k2#9@O?Q1#+RW-uT>lLLUE*YyLkss@FS5 zLt*#ldh2WrsPpFoGX2Ml|5}HjZ{&{4OW0L6W*qqVns;eqzUm*9ZWx(A(W3uIptHTR z(c^cs0+>*ZwdgeLLx@A>ZD@@pxSxdTD zE`ON0Vuf{+JlmpN3(hZ&t{^jwm+i3V6Muogehy_#cR^atT^l6L1Xv0PeWm7fwyQZG%m0%@v7l4V2aql7%ztaq zjRmO$l$|6}&ijO?%CIL67o9Xa#%+}z;0O3&C(>PnsVh@TEB=fZNsb^7hc1Mqe{B+F z(!0oHWgWNe)@+59dGwZqkQP4PHP zum*{atXw~vGa279nRzjL&hZ>=vz({0r-l(Q1OS6Z%eTi~I7@mkwhTVp$dKtZ@)cEK zTFLK}gVrAXnM)zsto1VUH=teG+vx&cxSf13BGnT;92c^<^Z6gt`jY8xbZG$N^Z?e% zZAu6;i(y5NCWI1gPHvuA*{?*0E#l2?-n~EiC|u7>r1}b*sS*fdhS+Ryb@nxekE{7W zvvY<^BoYnShzTx?Wxv{SJyVNwO}~tD^=vs-I8{ez#3bd`a11uKm)2Gl= zE9T=eEKHA9p&8fT<^K17{WiV;dOd>E4pBGmq_bGzM}hum#^Kq$m1Z{r*w*3A)4<_F zEwR2C<2yf*^0P!zM~I}adM5QPaPb86l{>zGsuX12m;d{%57tl z|91~szkiFh<682cKR^E}8M#w|aLJ#Q#&BgM@~T2A2QmXjki?mE>$xr*zD*S}(@>ox zG7Di)TipHhS6_rkqHFQJz}L==wvdZP(_Uy&KtqXQ+^^0wulX|=j3uT$(iQfgw*nK1X(v$Po9LQNFVu4GCwmI%&*ucxl!6jkL5|6@W8pD@*E zV%`^Onf^WKd3i0eFB`*32`$a&r&PIlPlU=n(gNqcRb4`pGRiw)P|LAMt#}O=0a}T1 zxSvgb{b&{e%&h~+78!h+H`HqQ`nt7|WkJ(K?Q=_Nj zxwx9`WqWC0A|0N7nWB;j##w$yls0Jxc9HLHkNoY1S~eFx`pfa z&2P=DY|cg%VqcwNKRxqKO#T?p6|L4`d9jYNL5drf^2t&1VV-Bxa%Il-SShTSmVVom zU5ZaU1bH=qAfPz9A1>nEac@d^pDIT85iU1S1obo4h60 zB9J%FXc4EE$CS088f^nL(&(Q?gVWufT3!o=Mcp^oEll;3 z$Bvzybh(Hv&1+A<_w+kQS}?)bSE;=lwdFF0{v?tS73w!`aiYFbt?|E|nWO=^9Q$?B4413bI@7_oRR!RV|s4t6VGlZ;%+*H_}r z3V7Bpqd7XyU>%AxQia9DcO(ic{Y_~OsgFoYqE`LG?N9PfhiBjzv0VFnH-=6=gwfiF zTGs~gH0SffE!(%X`QBH_hThSo0pd-xGR+$(cPuD?CkVF(le2p-4!%wn1{`#F`uglM zRP}l@dpFGLWQ?Aj_iD7wZJI;%i7+QxOK!r^c>Y4c@A@BVjF#$d$$9K~Itk#f+gDu9R}H z38w~NyGnNUiS>j{q222!3cbBfKTtZ@c%>QQ392V#!g9|W#fo%7UVUv;7B{P`QX-Z7 zutSWgTOmLV4*mb*>K&u&`rfeJ*lwIOwr#Vq?W9R#HFg>`+OcihR%6?ZZ9Dty{{HWI z&lu>cf;2(C~)4&7#{_aX5ROus~ zChZxRuT&JUAtYvmWSvDClFYeDD(rBM=6MvslVx`XdW$*)`^)KDp0k`^8Mh6+t8rBE zWK6ccL|?<6KWbV@;FUB~4GrWIed0a-=uDOxPAM6Rf;2QEauVZbV6qoQ3p#A<@>~jy zcg9aX>d}gOjNom@@*8hweni_{X+^k_&1P(k#nDJbd3#Auc!~CUjgWaw|8nNqu7V3S za)FxsWqpd6!*?GEMwXfzCcQP8T<^dpR5xuWy(7H%v9Msn7Fj=)Xx*$tcwwWX-9}#8*ZH9Dp`{#@BkW5(%pBQoGFgss zd+{rdkFH3rRr#1nfA#J}O+M!i!9<|<1{0t{$gj0O7&DeeyLkdVZSOP>A2_ z_B^Eob{ZwS$M61iH1Y^{tz%;og+8Og#10y_yo=uo{8Kjg#J2`JUH0&=MZ+YYO!+R0QihYltE@E zaV2#4lzYR36SCjK<8@SDso@XW=dPPzdITa_U3u?6K=@x%Vwg2U*5`a@z=u7tO0EgoK;g<9R&D6XGpDr$J{ zcZM5xI`QpcSmg^wysiJrl3y#j+&Z)FNF-tC7fb7begK5cL~0}_!r$FRjc}TbsnIW*ztu8#5${7K?OAN}JGbcNA`50= z({Ez1LU&N*W2YtJNhV6*=mL||#c$>5126`61H0s~o7aRzB(YybaQ}o_e zlY9dnFs}pXL|x{|uG(zOZ?&>j@*QRtKiLK4R{P4ZhORu1m3klV;LfW4JP2<`&dbM< z>q?w~kAYiv<|Q$>(f`Wv{v#_4==Zi;FZ}#*J-I)b(UIV7`}WuS?(osQtM6d{!dQ95 z_vh6>W=DnW$<94Rnrf9&a@cp;mKPB5qTf9F${X$8VRQHjYuY^7Bzy9$No~Y@os?p2 z1%YjbcMln@Z)S;0622;lC!|(vJGofX8U>06ynJ!dS2Sh^p}NV}G0S>s(-%7V$cmW1 zcw`L%i#-ar>y|dPt3DYg586dXkxTMWbB)rd%3+VNh!-mkpXk~eYVT(nkW(l7UWYr# z%pn{%qU@J}6i2iNmmyLd*Y<|Gm27m zLNaQJ*;-L0734nxvG0!gGm)Cye}D3S*O<^3V@^%JaWnGc_tC0%l??Wy0Vh}Ii5w!R zf6HYR{Vv<9AAyrbN}a2MHS*NRd7z8d*Qe#r7@03rR3s!(%ZFr+J!I%*b2J0`{PDbv zdwfCOE%hk<$=t)IKS7CCPEKUm;-RV0(6@+xE!Sx-oFK`hE&+{$>G1TlxD1!dDR=J% zbNsvVxM$v5Qdw8YguMvj7Q#VB}er` zx{}84489KEv$old)JH$Xj_z3CZEx|A((}H^w(L?&Ccq^sX5#BGnDn}y=rE9V^xmO9 zBbf-VsRuK^Y=nt3!fGM62dwW_1RbY}Oy@20aqQsH9=Z(DK#K;LAcPfJk1Btm93B2a zQd!D{6fDDARWafCKu;C)OT?TjoHzrRY`ch0R`)izZsrp?l@<2oniN_&fvX88F<}tu zVLZ0j*SS<_g$H?iTKuBAZ-}wmi^QmpAd9hjr6w$3B#Mc8&Ilq~CA_6%(DzZaRj!fs zO4>2nOvhtbQ<~6VESK1HD%dYZ`r8aXj+P8SUvDPL3HB(@&kQ?MSK4RNYSd82$79gS zn}3A?8t|S^S*t5WrmddTW$_(8NWs=A-&BYfije0echQsqJKA1n4q**-7BM^}#AvY% z)d|ho`aMF!kzvdnv4>>&TTqr%R3?WoqgTXFmxcxe&N37U+ly|SM+5peyh;j1%Rg~E zhP7Ws5HVcWOoVPaEv$xK)cTR9^a95G==xxexNV`mbo#-p*2zY#5|I7Q4YuRcA=~(% zFX%HylWV`425H@u>`6YYx!VRMdxk|D+#}n?oDvSpq|Ug!)D!BpZuDb{tbU^Z!rF&Y zQjjoC`yM@*HNq58G0!xlgx;aC*ZuqwG{io3#DBh?%Z4uA_0p zz4bbvvug`zGz1YQ{)x*UKoDUfde5k4-Jd6U^93a1rTJBSZZ#RWZef<lFm7?)trD2B7%I|V>s>1Nyrr7%J^*b{vTCZU;-+a8Yr->MD@jYzU6UN4VM6IwMWIJ291SRg zi$MoKts9xd!LQ1B%QNk8tCP}dF^T*gkYE)H4(#vgLm#nfXEMxWg8?h(*zx3nX7X7d z`-qk7@a@|+K&TE$y%^6_+!GwyCKL0)-jgO$Pqc(ng#m{!;9wC#nQIYe6$L9|K9kCe zieJen-C8Xa9onFXI9(%IlHPc)dn5{vBo+yYiVAo&n|M@y1SnIsp!90Iy-*QW2I3uA zJc{98EU(t}vr-uI^T(AC`h*xF!8$;?r?USH^xT`Un1rG|Qe>^sgjvr0g%LK@hI@ue zkA-6LSF};@{?wM@#`xQs!S5xe94H@S;J-l1GkowaMkGEqT^5$Z1vp$P11{>!aI(#@oB%qbi7da^bB`m)mpG83_|tnVqt>J=;O3( z6fkq3>3oWat<9Z8n;sGGlKTn0?s(cuLujfNv}+I>haO1FLkaDjh^is+I6kt@aCCRi z>65`$zm(1~c?YOv`D4;qa2;hR%rK*V9xPKcqY^zW8NYZ6cC|6?x+0ob_nGxY#jfEu6^x$XQQhbxK$6TkP(8 z+L1s0Z7Szz56vcMy;7z+DMGMXobvS%{PGVb*kOPicv1r^b zATu@Lqi6mC_gPQ;HU5SRWtB^sioD=fkyn#94Q>233u5F zkRDwNi+20x0AvLW$<@hAvb>z}UQNKKewrq*4Glsc{E9UW6IV zihI2ljCf~(ILAyTU|(})qm`E_MSIi5G@czf9$S*yC1~<^Wz>jdOHq5;^z=MURGj?p zErY`t7y(9(u#vlWZ9;o8zm^b@wFvxH=1-+)Q8Q(6R8TZuoi(S@*L;7bID(_5HUFy7 z_z1FS?)x2|889z{B_Y$(>3CyJR+{NK1~Cr>7~zc$4w@X0B{5s2&KD0&KTZ{-gkdF0 zBdw%|z#6wP-8IJ&zZ5LY|4rQicd4ACer=A)_ma3fRA_+;*%YKl-S1iYwLg;7KNC~I zx-Q<->|yqnU52StUDfMja`2*9g~tqy0~=Bfb&A>YDewr;*b0ZhZo!HR2sjuf!VQuz zW|0KQ{2G#`#=JuQer=Q1*G5KkB&Racf_Augafy}RnEVA@=Rv~TJsmR+WBvPGd>^8A&jq*Oug>I)~l z;N_9AWN7xio*8OE*h9Bt0ziwK`>;j_HNtTUn>ZVV!imA%S%XzUJtJ_FnK|F8bV159 zL4-i;!Sdb;r52YD%IZzBA)V2DokoMfKs?viHAbGntPNhiJjuLWkHX2ovCym}FESm`UXi_=?#y4J0o9sFG!8-WbsPWIpX^*;`X#}ANhdN~p*!7aSvpf! zi`^5C;GQ_0#H0r~vSXX4@J=Zp@n^|148?3Ed+WE%1Hm8u)2rvIXTgd#9R(bG5$7aa zF3UG!RJW3OiWfY%>&=61f88+g5`zJp&EgpCp;l50bt}cIRKfKI9%#eeT_Att*xz9J zbRSf5{D*R(9{e=30aKvlk>f<4?NvzQN*7>GTy%(lU=Uc zYjz7Rj*LU;zYXN&g^NGtDRi@uNC~H{1IsCp1g7@iDA%qFGz-1d@Jp9!)fEgGJ29>z zbA*4--L}zrlM!;B6L~vH_XWYPQj)o9!BzUBnh7xCU^0ooI=;OLoTB;-qKTk3{dI7O z3v>=K_aN!6ZQ0#WqA=doKaR5`lqe>a1CI5?7Y zyoZS388XXHMIqW+%`DypUmNrbAfc=X94R8at#x~1PcXlJ?#8zi6Op<}79JVkiS>__ za758!)F2By*e}q%y-d$1G$)$;_3@|muVm=bHx`nWI?WrKf!CnsTEt#xc?iVqVex3V zNJt*J!ya7Loq1F?*iZp3n5=@~Nf2QYVR(VuHr@SVC7f)YOaFJ3#LB(>%*Yb*7Ke=d zs{e-d)Qw;>KOzLXqp5?>K_<3# z$-(-mvGIctxqqmupG7CH)$x02Rp{D@vdxB|#y7MVcu0(d6PK8jmkI8^yHYc zq^gwM3WE_>kZ!2sJfsi)LZL=>mTygZ9~oe*W86W#t*-MvE$QzbOR7f~j5yLF!r|gf z&cO>gypkX3C`A38k5k{!VEB1v&d?P2%WR_9@4kLa55q1Uf=v{XdDvDbt0vYNGnHXj z!{M-IJ|Xq9(#1RQv?eRYjZ(z3fs9-sBz%slbq831Ota{y4K|;z!w;kuW&L~yzQmnQ zo_c%EORaO9LEy)b%m&RKh+h*tA+yFp1V&~CONBKcSf{4;C67MRJT}ig71Ow;fZB=K zs4L(0g@sG+hGd+5`pYHZn)0qyyn9b;+|Y)P{0R6Pl-#k@_1@F5U6Ly;Y`&4^>T`Z& zvj?}6X@G?#7n0;SlfTuf;5C@2x8$UZ%-1$6%)9{z*_<6W(Ba^iPkE-@HM1QlOr>O$;WJYR>F?XaT8g_3>r-cgLhBialy=z28<0piJ{X}{j5pK{l%1mx z&U^9NMOTEIlY*-c^#Eu7(wGFlR)Q>K;~28$z6D<&3vR;&!~+u)PJuYXEzZhIh&_y% z``PMpq8$t{$X=-FteA~Gvf7f9FZrHLUzkkplcw;3JybJT&Ddt8;XH4J$c;5nVyCV# z#CqxXE%s?Sdby)=4SeJ0aP6zNrUC$v$%D@yxC4E;;%aHxUM)iw_6OWmAA`q?o(qD$ znLH9OoK4_eP28I20LAh6zCzsx+K_UAcjr@|X53}-|H4`e|5MsNryoJ}!mL8gj~vvJ z+vep}f1j6sTrZ0^)RMMO{^ZSnc5KK;Skw}byXloVH|6QYo)#)vw7XxV zWIUKDaZ_k?i~I6w$bE91K|&tGuY{{dNuOA~po}BYSqzWdb~ld(-;LpxYd&0z5$8Gw zHAGNyQxn3DhGp0w&Xt8{Aqi0jzg+v9#}j-Hs(#n^VtWO$H_sY39lpl4bS;-v!^kOe z!amALZH5s|T5>9h2f{`l8i-dd6KNO4`QOFHxe#gNKS)JdQl}Um5xj&Yyqtisx{B4& z47V~}-#L%W%idq!us&F#0Sv;$al~nN_&{x1A&a370weU;giI5?K`b zQSx{7Uvest>26r2Tb}}ay-rI^wVf{^T|ewJ`O9kdl=h$h%Pn9P$^~%?%52!PZy+&- z;=ZiM*?UHLx|Co*Gp1$ZN9;MF z!E&$-c$}-Q*CS^g0}iC@b34p5J3wicg3x!Ib`SX=SxR}AqEG_7M46%g`gS_LR9|u@ z>%I~IzNB69)Y9O+O{IpBuD7=PNW8OcrQrf$!QQu{g2zuhg>Avqs8t`^I1%X9p$6Mzg1VJGKpTJO?ZvBk7MRKS>`9pBOol#+>^`NZiSBbz`--nJAaLQwzuT7Z8Jwq#yVRttH(no#E5oPYtc`! z0|&J}AU|SGTwink0sQX%0sI>NWrJRcAFDyY4>C|w61Vv1Gz&QWzt{ynFw|a8%J*aW z>wo+{1V+e@TuWS+Esh}8qELlsp1CptK6~7=Vgl`KX@i*4Y(-=Y9*+EM^j5Asa1cE> zw7E#{PsOPZ(T@@<#k9m&(82qHI%GTF!!oP$?xWe&d*FcM`D>h@r_;mr`t|svpod7% z|NeX%E3>%Z&x{_^w{&WGMY-f7K|h~$@)Nev=^yOv`n?@8$V&}DZpxKk*`wrfRXfW? ze?gYv6?(l)_yGVom{(S@S1ac{daRxVH>HW8e4@Fs1E=2cM>?qsvI{C7R@kyO*}&Te`~am@ArPSh zmXSreKqZ5KD}?`XDIq4;GkRQ=QXI?nlxGb&jmLz}W+ zC~-F6HsL%`5GhzzhQPWD9O|ppU!Q@{nI5Xu#4W2^iV(gj>pJy%thFe4I_`y7ysC{A z5n&M(A6qFsaH~%ShgM2BVBVn?ZL4qHv5O#i<}rh1rg5AvGJ{#49SSjpUJ-4d{nmJR1o2a_xp1K}xS6z3MvEGu;7k)1Dw7!dBB(s+95`)`Lm5i7HV_T ziRYbg4?6c|aWbwflojVH8?~*WwSFpB#pXwdtE+~T-kTJ-U9?IPu4}3&AT3uREyXMo zmD+?p2#@d#Ql7W(B{FZ>43`BzsM{)36P7za)!R1;F#=3Oxk%mk4c%-1SBslyIp+DxQSTSYUgond-c7!2h(SjEfFhXfWFzQ_m_ll~=oD9NUmhMp6hm z=ok1JZ!2KF4_-Wk_{|8q}TOgeMEeMZ)v~M|!-N`igZAzm8KG zh?MtNhdviLxbyca?Rn7jY2M{_3oo1?~CHs?L?Z|G3H9G zWKjGMEIZh{U4Lt3t4y%?DUHqN(=&ppmGV3N1^%$#=Ou?B)*~sE7vL~Fk?xZLLk-8H zI(yiL2!7rY#b7oE_EGmGD!}dmdD0Z$+T)R@FZ^d*&~|U0f_xQv%TdX|a@{tAY{xSV@i5tc<)`%><=9_WzUvBj8DpPauqr3!m37?(%d7C|?U=BLh z%QI!_Sbn5@SJj|*%pxVpQPfSseot6xMI(yu#j^;xS6jf!%;jFviUJI&5PC8pe>0Xe z1dHqt-K-nug3LxA%DaMT-r>))S7UY?_QTAO`bI|myK>}4-ktt)tJ%us7WgmV@Bc60 z|4$U`{akL~fAOaVnX?YMX6yLww?Lf#=+We#DTY13NejGx2nrb|W^>g)mD9}$l05Wy z8*e~|E1Q&cu6k(Tv|4XVrzBe*Z2$#WJkjtO#Z;8LDgCk=*Hdz39lnUTm_!`@ulmZ_ zQfr{?qEK)5_~({%n^OHzLB}j|K)f*7q(RuXF|q(D|4bp@*GwTJg9tah%*@FX&V!fR zP!%4cn0_7vufIluK;P7uU9{_hBj3A8?k1%1&Gdbvn#L<=6%Ldz($FL1cVmu+;enlz zvM~!!Vtee68H9a}pEMDkDOa?Ioe$kbIob$*7an^%E&|cJI~>*zE=d&$4Nd3WVV5bU z-QCT!J`RzBmG=HyRAtua&{*fPGoD}&L1B3nD&2n9xwQB1viWSTZ#@AnR^dk)X`IU^ z-xz&r4BvIVZ|J+VTRgPwYdMSqV&nQ+e#QoMWF8``{SAlsu6mmuLPyP1I5h~-@wjDp z(T$r6A|lt0Ft^`Fm*;80Dh){^r)Fo+h2%_%d{kkb%FG*(f0s%?7BKD4Zp>!VL9f#z z4+J*g-2BiFYI$+Qlqw^92{cK0J2rBNcCZtQ4$(78*Wqu}PfWFkqN_Qo&BRuowaEiN1D zEOL`jZRES8Y~GlNKCj#kJ5u1r(~Mo|6{C_&kGH3W+F|$?5|9Xnh;)CkH~bgvdU}>b z9FmM3`UNm1Xp2yp{7%@q<~!AM0JfBgq5n-0!UA+Z$)zvt6wn}f>Lb$JwSv!5v_Ye4 z!pzq4h;DEzo3cM0AJ7(RR%!z7Z(GG-c%^+JHH=OlMZ2jHf3Jn$>{{Unu@^43%V*eC zF?@iH`@Lh6ZQT%V4EcWZ@7o8e?30@YfuL;#JTGKdO;!^N9fk)UmR>EcUQ@YSSchiW zpVE*}R<5b{W#o|J+w5Lmhr7kzqp|6eO~3V2u;K4jq`jq+7oFP8Tz95zbxHJyO$i6D za0t7~-8ViI&@y}?W zS1Yazg}gt{p@*(dJ=n8lJZ?5GBeiOBK)Tg5-?X6*@V=zv8g)Y}sjs%9JXj24 z{G;v9;}2_W7UyO8z*B_J4AQJR2ISAx_4&v41Dk8N#9$q&c%*_)ln)t0Y`FCa5cz@n?bXPuKwMfAV z?YvXp?p?f08|V{E`AeCR^zA&pA4T@q`#<$~e#E>>y-!LreX-tHbsrb34WcrmLzx7JBVk;HD4*jX3fWrjSkG*<{jD-XEp?(fw zL#OJ}cch#woHYII3P~YY+90;=UT#yTx{Rl;gnWj`L6fZnM7N219_87Dm(H4>ifyYu zU;pY--08_kn!~(|H(VJ3@!nENS@P~o>+~_pQrGdaqzh&_5=hl~kn(#`2WD9SK_n3k zRv7zW*EiqegLilmMtP9;Ja`hzn4MWM$yu`iS&v{+(~_P@j9;@D0X^c(hTfKG#QRRc zOO&2y@bFtDU$h^<;bP&@GLb+*7pZ|ATt^!LS!ZFW{WOa`TMVfI^%aFG3eTb^1vfnJ zZ~afyWO!i(PVuOFB}Et+}2E`oF$TcWjA2O%?GB-Op&SE1Q$;@_a>M&t1h+Uib!Ml05E`C~{Xzv*(!k zCPPzf5=%8N5z5<-^jnVyy+3XD;g&&A?CTEt$j+m7ZkR|#$)_@y>Fb_Myo3(6gqe0_ zt$U#r*)2=f{wGh&?(BEIbgBSX9f+TCia|WYYth;|IV>4m@ua$*JrLKCw_4toCVWI; zYH`tdj{+(4E7R0YESXd~siGfjX=5s>kbE(rpSVx)qY}MRRQ-fhg4wM!oMEf4cI4R^ zW1|VcERivi!xCw-I2+h6pa6m&N!~4~ayh*GB}-i;)Lyiww#L+W=$pVsUWed&*kT1Xf#rc(h7}STf{5PFYEO=-O)vv;tP+-?1|m z@kdNMoizIb>ysBe6DDEC8aG|HYk{^@VgZ0y`kwS1(tAX6vks>B4v(j5VDX2^v1nVT+SqG^H6p` zjI`l-AG&zt3al0}Mfm0Awv$)Q&l80Z+5KgZccQ-1rDXHPgX^QO1L%LJLD41E|f=kGg|w(-hBRYmBqZ zHsEa!@L-A>N?^#Z-zdH+=Aq) zid5g7WW0dYc+Tz)M=(wJH68W1f9^cwS7n69zV`buEqM^7%%Y{rZ(z96f8DKuM37AhM=PdM%1_0D@y-Bdt8K2p%e6XkjO9_zVXfj}e$ixmlLaUOGk9#TFOZZldT z_;#y43i5-*WA=4gx@_rt4x=rQx)a8sqz?)&P(SLO15Ys&{@R8XPFf`qS(FILltj=B z?Pw6{`Hv&pl#@(>Jr0dS`a&hHI#RRnAkL=9xzIQ8#-K6`WrX50zC&erAu;afia-JS8?m>Ju23Ekt1RWjjX@s+_7LI*sc z=A1buRA>W#u!y6nCJ+{uP-Kj$2xJy^N0|mvbCAfqx?zv(@2(@p(p0XMm~6)+z|mzx zR0u(#>mQOdOB6U_1bpX5lIq7fp^@L~jiC<5{Xrrjp~Eu9wnFqxsv>GxL|)7jev$jJ zE(=qJM^^k;OCT-4MKJBROXj{A8e+ULMS~@VlC;`0XSyP_C{JLq$TM-cHUKhKTW?~S zZuN@OE1dT;axDWPM@1w~F>G$+;=GG?tMg^}b1J~6Y=L`i&rvyhD$=#3Vg3Y}V#E{2 z0E@Pz@l?47b}IVkQ_@e6!n908)2Q$NLrU3gnFVI^?cp?kN3Dc#n8V)Db6F565=k-T zXC2)V&PKcJuV1qwCl}!YG9qk5iQ`{ZFXHD3k**Ap6Q4Vm@%;vaKdZtTMYZ_TXo;Dl z%wG{+ExA|Mf4B>T_%>B%m>76@fw9kfWBQf>((Df-3jUxW3Dsus8KY|$!^X-6eu4bdNUx1x35j(*@7J4;vccS$wsl-8~9T;hQhnnI^`YkQdrs#zc9-^2No3O)pL z8|ANIHjG(zAtaL&IfmB`7H1j{f*Ic%7R4c7SDzjT5(x@2!b(Fd5hfRV^km*!)Fh0( z5S|sGNj~pMR08DP*eMrP_^Zg!ED$8u?m!u5q9GkFs$n1o%rPkfKT9Fq|U zA#&-?;5%>6?-R9leLTOV+Xdad58#XH%^! zZ+}v1`ZhJhhNb?HC(>7gpFOL|l0DaPQjs*l@_Rl$1Iw9HI)?m`8A4QHHHJ^V2TFr4(##WUUgzx-COXv3!SGi}8MQFlR6piN8GV!2lHD0xKIM!G%GE&v?^qU^GZ)yU`kq3r&EsHtR8YTQ%lp!@M)7j(flfy zSz-5_S+@h;z=XFvTSg*5H5Z?y2$H)U^}6ZIDOM-m;-_zKG2U+Lrz%QX`H_5E%VW)7 z81m(aW+`dHGW2A0bqyGS)o_y?k{;kgDKAA4aH{p)gPmAWFDRe!L6tr4 zI1AYwUp92(tD4Y`22>bGf**ZS`Tz>5c_J*PV|yImT&E9>J;Y+=tR`p#Ha1GQVK-h2 zxM5qf;e4zuEa_G5oD8P#6PLWSuEYr%g}x@1+i-rv|Lm`16zt}Pg>?l~P2HSD!{MzW z`+#?e^T3biBD+h;p;e^r{5{-k%BGE9QG!T1g%(;7u>1Nwy3F7&WSsAWh`fkBRL>uw znXOQleFXi`Zz*Ta?z8KSUl;UBk{6|;I1$757egb^x535fw$YL_j83O`Z>*GEE)C1A zve3ikwNeA?$O0H{kVC^(+Vy;$mbdM;W9pq^&Ha)UZ(aD(B?2%KXujod5G#a*6T>9T zx)4&Cu_}=BP7bRiAB}PV=JIkB94J4JED0T^f&Weg;D4t=2k2CweeKzCtN?aIf=&fy z!j}Ta_C=7JzkG4^$$jL1T`=@19QA(j>5rrJ!9W~>TPG#%A9!=#ZtB;nk9Ag%(A|P@ z#HoPu+w1US5eZ5Hyxzvf8muw1lFqf!f-h#rC!CZ@hms5D;1$neZhf*ND~)m4sZAIp zFFh=h-(`)a%%D-@{J3i)n3-nx&9PD-q%^yJ(|3poJ@4LwVf_I%JWT$9@Hy(3nSFa&{Fp+MlDD%j6$;xmPD?Cl7qB#WNyAK@r_G~-$XElntWd_PH zgJ|^?B@X*$RK!E73?IGf!BgYo$ggCtCM>X?TF~rB7?lsYfNPWlC5Q+Apl!qy9qNTb zp3?etz%ui<3Za6OXuOiIQB(rM=uqB>@z%G!jP+;C7l+Owp!-j|gPyGijZyy=X;>lA zPsDsndf?_@lgwvERLLjT=Wxn@quJdnv2^r1Xnx`PT+Y%5U8TaG+xBUmHT}eVR*SVp z@99B?gKPU?8yCI^Z3EyHCct0WAN0Nw{u~BAqDXj=xlhTq@m(uUvD|=R%0)<8bdCPe zC2T~HE|t@BZR2Yc5TDGaZzwOOo0lbWOc~xPQhMdNR8;alNCR0EDMe5Ooyb46H{yhE z)Zl;8hN>R!Xv_avh%rtY>ITsmqS#pxh6_l(mV_tjq=s3gD&BFVje&k2)Ti)c%NfxA z|2KNh{7DAQmNt+;Vo4`~wL|~6+y4X_e9DGYkFGMgVq^&VCTDYnn}PVw9i#mq-q%*%-@D4Hdw~DXN9_c zs)`xyV^`5f56o_WHD@{AX=Dmkm}S3IP4s0U1*J?*l={&i#ATV>%$HMQEA<)Q0QqOp z#$G9$(&#{wuhoA>!?okmY*|y%!b}FsybQ>~hLtn$J$bMFc32}K>tD-h@Q7yGPxzuG zM8k$XX%dn=N-;%Oju0HbOTg{vRz#m%-E!d?)FCfdDKm#q0q<9#dwMEsffhZ<>&kETMH&& z1pbjdElLXakV?*EBn@hfu2>X1+=N56Kn7dh2RxRz4=!H?j6Ds~hpG+?-Y-*9yaRT! zmD3K~#(wX-H%q5Lym{!QjS7jWaFeAl$6G+tGqzsp@gx%Xc|W|FlkF8Fa8Wa|rs;y? z<&Quiig%vPL~kVYNWOL@s6G|YBjEjUbY&#;0-eR{!qKGoaC@NUR~OH}I8R-3oyRjC z@c{5!l%IS-?0i8f3sR+DR#l8=ZFX~6SCd+PJBK~Aj69hHb6?_IXcIa$t?@cnQt`jr z$I2>AHJpfa?#gh_Y9Ls6Z}D4IzN=6ztPFz~BkN@&vAkM)co2ba$uI6G<^)S;DoAq| z9qI1Ff?Hf@4sblGaj37k>R=j(5j%%-p zHg14C-I4?*N^f}#`|wFc*TObP>0N~6e@$u=;A(K65Q1t~Y;|}Lk=pRCznt^id`dLS zM$Y>}u^Qtc&iyf_!5@t0iF~)h*m7$dfRaIboL2_dV(N{2Vz}$}^gF$h6WZ?j+Ed+Y zP~($Tsq^QyQh;V5#Af*x7A5GCit#&1^Kj-FPM9TL%mN`WYN#%OB*goiz@5&7c0T%Q z)6wB<%rL~C+trB90W*1RiZtJgc2&Vv6&06pIGG8|-@ysR;_?s!$hf8lty)gh;>jzV zRa?{KM-fZDLbd*8ysoR5AwK`@Dtu}2IyaVc5VyR^Q*%1KYMI7v@dvCeVOnhGzaI>_0ezAFRfqL7fO)gfM zd_?)8GhmcGPUw)4FiVjJM)xXPm5B>lGYWm8&j|B zM|QVpQx3{ikEt-m1=_|XFl^YB@-U!{%MD0b0yQumqRSd9es zp2nP(ra9Y4t|9hjyMb}ZbE&`2%6$%yzFa4aN<4KwSp|z#*$TENw^eA~%Q7Ap_hd9! zUuayqLC7xQ6sh6f>_A>;MxZ0NRa4xuFo{?p*~d(@(yKcjWB$o`oAPOdANi2&?xL2-o# zCZjK>xkiZz%5&O@4EZt#X?Di^>OH(CE7pc-Sijsh1ZVtXWwJ0q4V_TmL~bMdR@151 zhZNSmg_J=JR-(62&6qqdKV55S-NC4G**Tk>TD9h!14(J5{p z6vubb$d?Ec>LOcwlF2`V$nMwuWJ=81-QMkbg6(2|CeGW``Q;L=m@lYoSH|an$E#;= z36ug*_`y_lJ^1#~-WLmPmQF|=erV`t(U(6?LYBz7({y;cDnb1j%d-DYbV2(r=o%Z+ zB2)*xyxNO{{N`>J5k070>{V%=Yb=JDw-}$rRgl$V%7Sx4vIW~#Ukf!JYS%#@i&He# z*BZ;#KsAo9$&#wjx$LeP-7iB@$XV@g)=y zr(Cq*20`FmK5X$9fi^;ut~zGbX*Th8D4i1HuTL!0YLd`itFu5DyqNv4A4>iUB~CF> z_rBja6yz>vAgQ0V#udxGs`6^kVl;z6ix_=D^T)n@Kc!$;weX;z7 zb(q|_ZAD82A{X87Is94;tZh0BvDzRpNO3+P2n%P*T%4(81eeQ(_7r)3c^hNr@|j$b z z>b} zy2k;6dyQr3wun7u*jaS>crtg`FTa{0++4CI?Kt``YzZsBxc=y7;Qgbhu?YAD;~j8v z%x^c)Y^BUzoQ+cQ<3VTBa*=LJS-%UW$$Hyry*F3i4x_TGGT(la(4T(Ii7|L#hTgpe znI?}MyZJsNPE#_g45EFe&Lz6>An4)NMaS>kFikE(5|=?4P0=o^RYdKGv>W1Uo_G_- zpn1RG9603b;_I|3sr%>Q-!m>Al4z`(5JsDX$fkt}XE~(QW}O<8FSdUd{EB5n6q?_s z+YPUbCpFJBpK!35(H9A^^&6HgRy28P38Wut!R-tt750i8)!J(TyypF;g1MzR93yG4 z>l}SUC*VYa`H1uX-IT4Hr+&?D!LjBIa z{`|h+J5QX(Q{5$WBf-Dr(evjS<_xu?(LFh-LN>=>GEJZ z(fWo_oX#(3HUSOljDc3^BnPO5!yFV2^)AjsaSjU}mWSsfgtief!SV^u{ju@nc&8(e zIsxI86}KmYGq*XuWdz16qwbD+6*bpg^0>P(((c+K(DtXu-A~|{Gd+kM&ZTM9G~bEG;q#Q zoK18BK!$gh>1;aZFye_lh=j*0ghZ)^>0t|DwOsaQe&?zFtea~locqPUuet)|Zyauo zYzUU|lj^Fj-@(i5B9B?R*1ABQtEo5<6qnG)(@uhq>K$8la?qp96vtnX8O^qah z+BD7y{?0oz6TR{d5RFap83*U*xj2(W8tB*JU}uLhU?#h^X^k{*h?V~)fgn#~nGf|S z2&rVgNB+B`cWT#2-dbuaYjPQyCB~|*nIZ6Z#(0{b2DgI>qoIkEFOHq6H$Iu2<=+nM z>oHz&twY7!GfKfhVH8rYi6atr^HQlO55`jZG@@djAKKi?Or=ntu1KrppWcV^zkx~zWJ*d0sG4xUpFwnZQ6gGag z3*w&eqzy2Sqj}!fPuI)S-r%UGZM34df0$(FW=+cbe|OewCnOu*lG9o2bkTV+wt7km>m92<<}&%LT{% zT1a3{V3CwdPPkHy3|rN4^D8%$oMJpP(6|F?6xiky3ty=Svf}g^>0Ge4hro8TpNEye zi05P%{bR@D_C=TvM2j7apn2j(Vm?bf*A zC#W>)s!h5@vu!aj*63@4Z8Mu6oG#5KXd#zk?s&h_H?%9+Gp<{0nh@e2>$BcqzEomp z(@N1^cJ5^1wX@^x5-mMjA1x^fnPW_k=_{7V7Fkx*551!$inA+Nc!WeJaxE~Zh&gx| zI88Vv&U+oQkD%-&G=&dfZ>021icVNAJJwl^jWBJeWHxzh7?-y8M!U!$MY%?nXlthN zC0Q5X7n!%H6*FkdfGSF*N<`qW zn6ru_t~2fqdyF=2EtthVkh{p~b+sA}&E)!8!Z)5R^+i%2r}`Srj&((RV7|duL7zIf zgvCtQ{mUY|I%uUa`oIC+nMNI{*_mmp6zX5TL!?y}2)t7M&dxoG&(~%978U5ZWXn`n zk*!Z**ECcWje0v*|&Wth$+X!T8Ar%!U$SuJfxe4 zb%lv4QM0!(m1uH<3}#VD`SwK_1N8*sk#~``C69-zFW9vswFk=B?L%lXI}T`O=tlp|5v4K1o5z(1&i z?TvoazSd=vf8%ukzsl)M~&X5;ozm=Qx$J-53gh; z#c})VtH#sj6Na84k=HD7i+w<2;pNl@=$E!L$&xceDG04qCbg5CCk;qcww?O zNy!E7wnqIZ>OPnFFrWo|y`PNDrEDfFI)=3)xo#wznh9&G(U5OEdU5uccFZZVrX@dK zdOMwIvZpPK+sSRU-=a>^-hOAO_*s*!QENkH7TaG}lBt5yKtE|OPm<=0C-<@Wh9%h( zM?~#1!v(im%zG}@M}w1M(KQltpQ50XKc7=od)rE)ojIcIrdd>(Gg}-f@FEFg<_H>_ zDypIrv@fw9pC{uvTEORLfi_&NU%KXRFJ=|_YA;%6P!+%{5Hf!nAn4qqTt3Hc)_P?a zpcb^YxgY0cMVzW%HLGBUHO8HUo7r#x%1KOFXYM~#KmYiMj5;d8LB06;>!v!}V)-gI zQS*p(OUQ+MzixKKbjIe{%*tk0ns##;O9uWJB)sluqQ!2cc68sQzc?&Ifj;}}zSU$z zX@-{X6myLYqM03XCQ2T&&F-*(GPCRM8M??Wb(Z*s$55t*x;+Rr)@t~1X=aB{(9B#J zZ{)srx?E#QNiiqi8v}7{k&6M0l{vT3x; z_MR;`@ANUpS)w>VD>(;&4+9)|KqFuR_>@;?MqVs!*9JUYJ}nj;Du_)&Rs11UO-Dyj z!ee4QDmNd~adffPJ)?u^bBc$ASqAY$q^}cW+XvAXN-KaZt2WH>3AU?D21{j%nDIGu z{nXB!+B8yGl=|$h&)Z;mBx}c@%%LjPYn@FcXKwvni{X?}*X1q#3r ze$W)~{NBH;H+*$q&N@B>1`QD0Q;=7rfTi{lk1r82$j~=|Vn)H!Y{sEo;HzV~`pn7+Uo~xwF@BE^CEs=WM~K+i_2V)EUzwjdpCf z+cNkHuN0gSSh)>epv3&Vpz?F}}8CH`Rx&;^uji@|SJKv4GO_-qRwB78bm3JiEYWBiEJD(pA=#Y*^XXio3P)I?-0& zP!cULt4>^9k9bC9&z}(U_AzMC+Bc=s;~}6T()N@w-J`bZv-JT6D3%z-ypO^rrNnDJ zaW!&;H*<DE=XdZ;t-kgC20T^Q~pq>$B{7DSv#<2`GbT=b6`;B-5fFL6-(>KpeJ@P3~^EY#mq zAa2DA@A>vg))sgT7ani9dS~sE;Qxn)npuvOtSS6ZOpl zsW-V{zpkvHzT4e>`TesOPhLNL`*Qckr)b{<>y9>R)cgSU74O)i39y)B8?f1@gz7M> z7FUDczWoVC^z7eM9hD2u1GHS(!Ovh%%+;Owa`)%gFQ2^l3xA~R-O%zr2j5pl96U9^ z36fFl3E9dki;7c_O_48T-U1_k@{ka=Xif`UFT&vn0NkgV=zO2q!j(*Aak|#gL37w% zC^)|w=+i$v+kNr$d*_tj0+{**y!Bp(tF;HC9#aF(bJPRWnMoYhcPz~*EpW|}OzCr6 zRd+*Gs%dH~IjzcR8|00rcG~t8fll&=28GrSv4K)UL)03kuEX{0us3c~|4b7|r{<=? z2E%832sRlfY3Cs*cb#Xt8_lG9sRFU$XS1sLt6oE**W}v8e#LR=C=HFF1Y~+fblDcwg;TO0uTa0xdV-pwMuM zA?hG3N88jSR;+ufR9jWpnyQJ9G+b%vbS}vL`jU)|s~QLRfjY7Bf#^xOn4zJ^l_MML z0HEDHs%Kxf!MKpJ&0RWRL`cc%9<53>t>Vy8YN>xw2{isczXosfWE@ViP!4^6n#S=k zpNf1s6-gZAqlpxwXp|?@P);YE+gU8utO>F4p;4e#->Fy$JcGfy z_%|OE@NY*EfH6mwx%xsmsFGtfy7Q{1fuqJZ-AQV^%>S zitK8J2kS={R|oA*K(W@ErNiPKx@hrDv49&?Gr1aXY_rvAa=FUN z-)i{x-1rO}Lm7u|hh2wzy5$poeH5f1hk9rN9H$HId>oiCC<293!9iUQ0Hxnj=beDP z^bK`I6RYkeApKmd$k(}ZDpx1us(&JJE=t!&h`-)v15iaTdUOz^3<92biKSWRum#>y zh4$B8vuaLhK4;#+d^s2#6$gESio~zy@C%0i)dBm9E$Hc7<}m70^kajE2b3q^0Cn(` zjY*=WU#NUf`rsDBZge<>foU683?*%%=2SErD5S8>_DSyG6X^dpkZ`cG;V0YMPCDK*pQ3w=1W&$M%{g62c+p@JTLxb z;-oz?ang`RRq?*ax8EwF!PGHM)%CK_{^Q4{FWj?w8TPx>y(im%Dkx5`Ya$t%jRtTK z=VfMfK!qg%@I^9nxead`{uT-WiyX45z$M{ zd!OAtHD$s#UpWL;*=@krui3WCnFpwWe=%?XbUI2ZLP$?OKnJ=6WlgajjiGvSRP@ji zyxUc_jE2N6dKAxuwo|;Bq0+F&%ki4EIG69_ytJ2L-z-BtdMd+s&&D`Z87o&#aBfR! z=nA1T)z+HBn4428g3Z3_3&J9mRGN2a{AI;*91I)}yV}Hdgz7U|1CS{O_4q`rj=h7y z;K22argth)Mx{QPFPAH7nx6AXuq*(6hgvaEo~dBu6blE-1HZ&YP(RR9NB@`2cSQd6 zx<|`@EI<>j%GhycFwztju8kgMyV4HKRPU7ry9PIEhQQ3@s9v{@V#Z&Y4y$_{6NZ&` z)*iv`!&Vkz5_+Hjg=Q?kSbi(Y;-*mvS#w6c-y{+B;4N_2VU#3k2(0c1{`bd`$l@Rj zL@-I>NjQ!tlPPe)NtA^`PQ!6J9r-c_W_yxCsq17Sb$!D5Z!p}R|K82DJ^%e(U)A~V z?a_gcKmQ#^;r9IZPOeSozmwr)7;MjfzxeC+cmJE#e*kZz+WH^H!8ZT%om_Wy7^_Y{ zZs~{=h{~Zla}c9I8Cxi5aHSND4K{|OrxPc9%sOJ zj;Dbi48y4(Io+o-3aj$Z)tmea3!Sgz90ZHyiVtJTGa!+LGzT&zy@mVN7>4|zGU4G| z*UHLqC0V{9;hVB6l5?y zVcDFcucOa|RomW4QI;rrE>}*5zEaJQr@Ph+<>0jFIMk6PA63xpKs%UIT%{{DcBT(h zDANBLSjSq|cJyq4cmi__hyl+~GF9`;_1iPGr0B6$ypIj@#1rp?yJ$=mSF(8uzVU*O z0Jja}0&$Z7TyMjLa7!EyI^2Eask1HnoK^|*d@kF>-h$HO0DQ~@ndhCJRDAjbXVLV>pQ6bT~o{s7R(0`3jD1Tr~BVBFSrVDHNc-La+ zTpa^)eb-IgCBNuXTBmZx!^KX~Jq>h$0ZBPO9408R%Gg;HxRf#7cEEX3EQ*t}liGBu zryVz165BnZ7lbM%kv;)8>dug%#CmD)cjX@c-G4k#Hpx~hmFk=J(CgR2S$9Ks@LVWg z9RRRo5c3=uHh!y z=&m`;vH5{tsaVG7ENF*L;+lIOfwVS-G$2wPY(rM^>`~>&b5qevbX3xhDSi<@zDEhb zs8gRt?@XWCI%8Tab&DFfEpf2rT$}>9Ua6TeNX?I3oK_ECGR5D33KhAxtG4K&RZA=3 z|8O91MFu?)7AqXM;ES9x=cvXH10x~kPsx{4YJLsIHKTXn^%GoQ6%I-DuSJiyBAEwM&OI9~C< z=y%9_4Bev8+YDhw?nn4=zT{P_3Vh~(xo+yFbnv%r@H!eJH|?-6W|PzmLEo(YzTVZ; zeyHvqTj0o zU6CO_`-t-2K%E2qc9ytuHF%cd%~I0DN5G&PoF<|@x2Eh>&d>-H$d-+FI+N!Q?QFq%w6G7*s!qj-``Ccf~8`6Q0SWI7p%Sfp7T1)(2^ zVIE0%k;hq@O~T1AjYiWfxVeo_(Ep7>e|!FSC)Za0_q)C-{on1;flu)NfP!27-(6fA z^na646iwr;{_l&wZh!axfb~CY+W(A#?f!okm)3B(l3Ata`dt0+zdUqIKe?GlB*Q)W erd1q#_|FE(_S# s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index 0e71826..0000000 --- a/samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,6 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** - diff --git a/samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-changed/fixtures/history.txt b/samples/typed-changed/fixtures/history.txt deleted file mode 100644 index e403599..0000000 --- a/samples/typed-changed/fixtures/history.txt +++ /dev/null @@ -1,51 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:VsMkP6U+BRADaoGYB4DoTba8TzGsIo7ZwQDsMMQxNWD7Cr7jLvUoGLrr6QC4u08w/fjJ1X4kfHHQXFVgnDdeCQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:UH1x6X4otZ5vsrscszJu2fUvgMffXm3Dzu0qmbBiMWm5/aDWD5DfxjcV92/YZnxho+z55C7DuCNM/oOaRZzwCQ==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:1TorNMceIKYuLAx7Maz16HxLQcYTpbrfTQK7rcFKWmSdaOLOp7k/fB1jPOgYOa491Liy5thLpOLEnF8FXJZaBA==" value="MCowBQYDK2VwAyEAG58z6dZIvmH52AzAoqqGA7M7jcoViAB3M9CsqWN912o=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:thYcTjOhMvybi/48CuMpa+uaQSTar6FnA4NqSqAuvnCWtA5NCsdI9qasBveoXFi0ZXeH+fiWWnDj96y9f3m5BA==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:oO1b1jgrfmlAEJKulSyBDIyZS5rfUz2DUPCVPofBhnND6nH91kfEzeUSTGaAurxBbJtax9bKtOy7WcMJVPiiDw==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:DAhd95faMyJ2YlOBqma00TGHylmhmgEW5YzPgrXveXUNH9D99CXFTMenxcqXjr1s0uuEAkhEdNbwqItlCc/ABg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:bXi1tfTzDsqEQH5LrptXEvOFEhbAQj2Ee3FKht5PXQQR2ZgWf99pJ9k8QVvzGhfQtsLDa1ZX+2ym/Esm9tZBCg==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:Gjg/xp919EPHNijaKKRczOdZqlt28mIINUnSmJ2Pjo7G2fGe098/S7kJxUo9ZAuhQW/tgXAwTKLOoDt05pYBBQ==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:hZbpUdp1GN28hqSBfdZdG6iHfpB4f2RhZvYyBOFXdfTHJPkJrtmxKqNpmM3iqp9FGM11+GwkBYAp/qKU0SJuBQ==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:N5rks83bP7kTRvu6DJrkcFXUViALywXSXZpXenyr57zhPpJLTV8nMm8e0S3bmO3dkjcbbBL3RunyYhX1fRlnBg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:Ba5sEbIxx+eaGKQ65SAaW0iLl2NRL++GOVlHgxt2mVcSP5zY/jBQ68q7lTimw/GbUEGW62RQGEuH4RQ9LfcKBA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:yqUYSuUBrmLCaRxUs49bJw6GZ4UR+AZEIqFVCrfCuCL84iIEEgl5JmFsGY5idBU4TNai7OL73RB5c8HLW8vvAQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:ffijhWun3u3KqEophc/oN+L725CXIeIyGrWFRBGcQ3QSmB7dJIn7ZKYqhWhpwZP1T4EPg1W5twEKbmpPFm9DBg==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:mWoFJNA9k14CVpfhriutqyspZndpCYZ4Qa6C8R6qYvw6fBWXYpL6yhoMaUWO7jZ1v8E/t0Mb5tzCQ2EfGOCQCw==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:wKd4krKKtjM1zUCrnPAEz7YM7mKkjjrtIA7jUG+GmxzBYvazVN+yNSgr775nQHGSdYBB4bLrwO5Riu0HgOYZCA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:Rv1xDwk7JPlTw+PMy0poMEp3i6HVj1j9pB2waWY5Lm7Lk+h0DvYOJd9uAWLYx03Q0s0Qpnm4Zms2sWgU9gbACA==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:mYoqaxxcBWvVq+Ix9Vyap3mbfEJMT0sloxIJJB+X6QBM/uLW8AIOHtii0Dbzsp6JQL/qzV7Xct1mqFhxXzzvCQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:P/bVWbvpKUKf1PWCXyzV9qSnW8KktwJZOELfwl5PeneMtPqYJqauvLa4hMBI+PK7Jfa8KIh85gS2KH0yw3yQDw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:F2bCnHhNkTB+8PmxdGW3asEdmgT73j8lzWslBn8dCbqj3eROum6PVxltcdZz4mFmtbFVnfjR0Zk7S8vwoWeaCA==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:o+wWHYYwlL7vFfx5zl1NBfxpD0xGuhJJ+IKU9/0wfCDzZevbHyyh8zZLBiS46MLj5mFE09c3bokZrRpwubJVCQ==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:I+kr5rGhcBz1HyvpQgEpPWbN0mMP68lohQI78zKn6HcdvO32hVVmRsc/sMfhGmy7IyTqAfwbD49OhOwu9ehYAQ==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:8/4PzKXSePJ9eq9T94TzCJcY4XrGZNR0ptU3yengVSCZowa5l5DlMoYqIF6Zy0namKWrigfA/lTmmVH03gEnDw==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:xEpVAfxv3Ctvf4NX6gLp+K9OhQsLEsTQtKB6HsxPgzu4YWaofLnGSBEMVj2ke7ayz2tL6RzRy4htGwYyImUeDg==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:lRT/oGnookdwLPVEl0k60ldCyx7q4JLdloZoU9aSxKNfb2ibOoyD9MeHy/uAvB1CYo2q0jNgBBqP8zYFaeQzCQ==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:X03eNiBB1a96Not9WjtuvXKlyd6J3R+AI9ji/HVNKiANgQP07xVi1QM/6gu2YEkRUoPv5WXJ+/2G/4KPwOACCQ==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:M29F13rqDhquAgmF9MmBPl8Jy5ccbT6qgcHuynZgTXGJ3/SZTnc8snajSG7V9dc4s0EiWlNFaqTC0/FEJnoxAg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:9bSdMTSfgdfF24WBKNigUn4poshvgsnD0HQTW45h8Hf8WHc1UQvA9AkhBI5ZktEWlv8hwpsIRgI5zXKV8burAA==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:GGc07B5DXZuUNVhx9yiIvawmANp6ko+ef3nJtQ3IzAP0FKw7PvTb1r7RgZCClKIzqCmu5y3BizGDj6SfD6IXDw==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:K3d/XQlaU3wyu1TamBA/+VJSfy1KmsFViXBmpBt9MnF+6g9hOnZrWoMl0+q9J1/f6v8XqfKtsr6QJQUSjAAtCQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:0XdwE5in0cHtGcY96AaogV4vTJ2D4+jXKbXXL5Aw8aKLsH0ZHMEhZt7PxS5W/koDB920k72r05cFmD8pGbI/Dg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:TFx3TyIzNst7CuXba7/Hq1vpWf+KrQiQcijBFPm7SIP+PaFCDG9dOmpvagLUJyjrY4vlUzubyoYAzxcSEW7OCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:EONV3/ikDi2bV5PAA/ToMVbCsxqkXGUKUOI+YRvl7vNbKbZwJYfxlx8rlR3NP8XfkL4Yn5JmaFSRsFNb1FY5BA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:OARj4SOVCowLNNI+4mJfFtlnfoRpcfs26HWzwmBh6JPR2BWJxYfO5L8fSZkaONkTigpIdtybuoqCfCkQFBbRBQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:CRtmIQJ3khj1P3k6b3Vtipysxoy918f9qPKraeOSWFCvaz2PFIida5SSEr9BpWnZDlPTT1TcWAc+7wysnqBtDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:LqtTwRzTxsaFsa0KF/n77o0ACCn6mwF++CznrZYAGy/9dovskoSy1768qg8dwQ1WWCacxMyr4K1b/2DEAM4CDg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:Uoc30znLb46hGPYB1MgWb3VEUrNghqVecXRV1o3hCLya2Ou3hx6wiwAzCMNe2xqymHhm20c9+A0cqVS6J29qAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:dQUd3oMsSZhsv9cLP4DeIb2WtrKpkYkPawyzXFzV89zfP2wq8ZRvtg7WfOn/44FBx99kCDT9QRdvTkRibvZ7Bg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:ZNEvf48U2+y6Ed9YOp1Sn+PGMl/IaqAOlvo/O99YS7HCX7cDYMGwQJIFD3IkxOiPmkxncebZzVkwyCAlVRPZBA==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:thQzCswmMWejhRISHPKxIJu3+v4hCAiQO74RDly6FBSY5nFobbN6MwdmIUBz8XVQ1q1zaQD6grPeBNll+gAaBw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:Fzmvbkvoh3UCsDWi/RMJwtXPU+WMJL8ss+5LBdSvnppI5Ggtz5DB6FgZfNzsHniHwLqw3JeUAUyZPbh7AzLTBg==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:cvmxOyXZv03mJAQ1dwb1RLw8LfVXk6FmfFS2OV1IpPunjUWd0HJevgjCZsySjkB2695O4tHo/DbcDQ58s7smCQ==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:GlqfSxkzEXDY1uxAzmaARbuGEcIkzdyZj3QVnQFH/fLlo+QZO5+9rlJQ6kazMT1/wgbsAlprFIrBhKC09D5gCw==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:NIwEnFZGrQBr3wpjlRxE5ds0wle5q+ydvbjemY/HaKPluUBGuZub8XeQmUuOWtdgt1ZOl/ucU1fMiAoxMOKaCw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:JJpJd9FJXEDpdWKTIENvmrWDyEcvaG8W9Mwikfj6q5Lrmck7p0lCmA/9Y6gTg2J3tkPXy6ytl+AuzI7O+fp9Cw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:q+o62aJE9w8/sZaPc+w/cHc64rVvWmk+Ng8hYYD3FMPYnIPpzRYiSyAxUS6PRaV4oZ+IHDz0qQymcE6BYG/KCg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:xZVl486j4WvmQybJ0pLi/Uuv7tFOl8ju0e8n4rBL4Hhvnak/j/qTlSVfILTKT0ZehxyhXWOHZlLYEAle7uIzBQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:vVBOw5CT0eVKRUITqkoqOm4c5kIX6Y5/UK7Jxu5LvUhC6FJfSp+FMvpSIuA9lj6vZuG8wefUVyaFLdzwwWjgBQ==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:ijOF/I2q5cwFa5DRNi2bc1McDR7zBmW8LgdfDse1wPsEfAvaFgNshepAPPaN+SjUq+qFetqPQLh6CxJV62l9BQ==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:WDY5Ggd7Dgrj1VyxfTk1dQajv8Yy5EslNAvsrQxQE9X9ygA2paywJ118kKgwYAmt6eyIaep3sdJLN3xY2gN2CQ==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:LWaUxfRb/3UZqnBXHjSU6TwmrCnoXj9B57L3nPqR/+262RzgcP908oy/96oPBorgLgOR6w+TAa+Ix/cWYJPDBA==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:CU8QiykxIw3+WFTzZQ0NhOgrciXOc40twB69Y/4Qf/NmRkBtJt/GizqfMLgKXuvWqL5KwVbUaGVY1/mH+FcgDw==" sign=+1 type=claim value=44..47 diff --git a/samples/typed-changed/no.json b/samples/typed-changed/no.json deleted file mode 100644 index 5b3d074..0000000 --- a/samples/typed-changed/no.json +++ /dev/null @@ -1,142 +0,0 @@ -[ - { - "name": "floor-local", - "record": { - "type": "mark", - "scope": "B", - "id": "invalid-floor", - "sign": "+1", - "pole": "floor", - "reach": "local", - "value": "40..*" - }, - "refusal": "positive mark" - }, - { - "name": "floor-widens", - "record": { - "type": "mark", - "scope": "B", - "id": "floor-widens", - "sign": "+1", - "pole": "floor", - "reach": "travels", - "widens": "local-opening", - "value": "40..*" - }, - "refusal": "positive mark" - }, - { - "name": "travelling-widens", - "record": { - "type": "mark", - "scope": "B", - "id": "travelling-widens", - "sign": "+1", - "pole": "ceiling", - "reach": "travels", - "widens": "local-opening", - "value": "0..100" - }, - "refusal": "positive mark" - }, - { - "name": "object-at", - "record": { - "type": "claim", - "scope": "C", - "id": "object-at", - "sign": "+1", - "origin": "ana", - "value": "44..47", - "at": "origin:ana" - }, - "refusal": "object records carry no at" - }, - { - "name": "typed-missing-origin", - "record": { - "type": "claim", - "scope": "C", - "id": "incomplete", - "sign": "+1", - "value": "44..47" - }, - "refusal": "required.*origin" - }, - { - "name": "legacy-role-cannot-rescue", - "record": { - "type": "claim", - "scope": "C", - "id": "legacy-role", - "role": "reads", - "sign": "+1", - "value": "44..47" - }, - "refusal": "role=.*not allowed" - }, - { - "name": "untyped-id", - "record": { - "scope": "evidence/config", - "role": "writes", - "form": "alphabet", - "measure": "id", - "value": "present", - "at": "policy:sample", - "id": "untyped" - }, - "refusal": "id=.*object-only" - }, - { - "name": "missing-origin-grant", - "record": { - "type": "claim", - "scope": "C", - "id": "missing-origin", - "sign": "+1", - "origin": "unadmitted", - "value": "44..47" - }, - "refusal": "origin is not attested" - }, - { - "name": "missing-witness-grant", - "record": { - "type": "mark", - "scope": "B", - "id": "missing-witness", - "sign": "+1", - "pole": "ceiling", - "reach": "local", - "widens": "unadmitted", - "value": "0..100" - }, - "refusal": "join witness is not admitted" - }, - { - "name": "id-collision", - "record": { - "type": "mark", - "scope": "B", - "id": "s-B", - "sign": "+1", - "pole": "ceiling", - "reach": "travels", - "value": "0..49" - }, - "refusal": "record ID collision" - }, - { - "name": "cross-cell-takes", - "record": { - "type": "mark", - "scope": "G", - "id": "cross-cell", - "sign": "-1", - "takes": "s-B" - }, - "refusal": "incompatible withdrawal target" - } -] diff --git a/samples/typed-changed/range.vector.json b/samples/typed-changed/range.vector.json deleted file mode 100644 index 937b464..0000000 --- a/samples/typed-changed/range.vector.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "status": "captured installed prototype output, not native receipts or release acceptance", - "sample": "range", - "capture": "evidence/shipped-sample.range.json", - "readerArchive": "sha256:f35f1f6d2d3123c726d26f65abafe648e6b529ed3661e2d9dc308dcb1bdf228d", - "pin": "sha256:c98647a42b55fc829e39dea4ee295bec4b36530f17540e4125f2e686f5fd61a7", - "observations": [ - { - "args": [ - "fold", - "--as", - "cells" - ], - "status": 0, - "stdoutCELL": [ - "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", - "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":47},\"ceiling\":{\"lo\":44,\"hi\":47},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}]}", - "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", - "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" - ] - }, - { - "args": [ - "fold", - "--as", - "cells" - ], - "status": 0, - "stdoutCELL": [ - "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", - "CELL {\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":47},\"ceiling\":{\"lo\":44,\"hi\":47},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}]}", - "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", - "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" - ] - }, - { - "args": [ - "fold", - "--as", - "cells" - ], - "status": 0, - "stdoutCELL": [ - "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", - "CELL {\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":43},\"ceiling\":{\"lo\":44,\"hi\":43},\"origins\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"},{\"id\":\"disagreement\",\"origin\":\"ana\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}]}", - "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", - "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" - ] - }, - { - "args": [ - "fold", - "--as", - "cells" - ], - "status": 0, - "stdoutCELL": [ - "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", - "CELL {\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", - "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", - "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" - ] - }, - { - "args": [ - "fold", - "--as", - "cells" - ], - "status": 0, - "stdoutCELL": [ - "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", - "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", - "CELL {\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}", - "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" - ] - }, - { - "args": [ - "fold", - "--as", - "cells" - ], - "status": 0, - "stdoutCELL": [ - "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", - "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", - "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", - "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" - ] - }, - { - "args": [ - "fold", - "--as", - "cells" - ], - "status": 0, - "stdoutCELL": [ - "CELL {\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]}", - "CELL {\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]}", - "CELL {\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]}", - "CELL {\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}" - ] - }, - { - "case": "floor-local", - "status": 1, - "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "floor-widens", - "status": 1, - "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "travelling-widens", - "status": 1, - "stderr": "bound: REFUSE\u00b7wire B \u00b7 a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "object-at", - "status": 1, - "stderr": "bound: REFUSE\u00b7wire C \u00b7 object records carry no at: order is epoch and a local join witness is widens \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "typed-missing-origin", - "status": 1, - "stderr": "bound: REFUSE\u00b7wire C \u00b7 a claim/positive record has no declared required `origin` \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "legacy-role-cannot-rescue", - "status": 1, - "stderr": "bound: REFUSE\u00b7wire C \u00b7 `role=` is not allowed on claim/positive \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "untyped-id", - "status": 1, - "stderr": "bound: REFUSE\u00b7wire evidence/config \u00b7 `id=` is an object-only field: untyped configuration cannot carry it \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "missing-origin-grant", - "status": 1, - "stderr": "bound: REFUSE\u00b7context object context: origin is not attested for missing-origin \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "missing-witness-grant", - "status": 1, - "stderr": "bound: REFUSE\u00b7context object context: join witness is not admitted for missing-witness \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "id-collision", - "status": 1, - "stderr": "bound: REFUSE\u00b7context object context: record ID collision s-B \u00b7 nothing landed\n", - "ledgerUnchanged": true - }, - { - "case": "cross-cell-takes", - "status": 1, - "stderr": "bound: REFUSE\u00b7context object context: unauthorized or incompatible withdrawal target s-B \u00b7 nothing landed\n", - "ledgerUnchanged": true - } - ] -} diff --git a/samples/typed-changed/receipts.bound b/samples/typed-changed/receipts.bound deleted file mode 100644 index 6e6f9b4..0000000 --- a/samples/typed-changed/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:b815a508a9ec9615d902f914c3cd88ab1dad8f1abd244ed48153b1e27f727e91 -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d -bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-changed/wire.json b/samples/typed-changed/wire.json deleted file mode 100644 index 988a0de..0000000 --- a/samples/typed-changed/wire.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type", - "bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type" -] diff --git a/samples/typed-changed/yes.json b/samples/typed-changed/yes.json deleted file mode 100644 index f375bf9..0000000 --- a/samples/typed-changed/yes.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "cells": [ - { - "scope": "B", - "restsOn": "none" - }, - { - "scope": "C", - "restsOn": "B" - }, - { - "scope": "G", - "restsOn": "C" - }, - { - "scope": "D", - "restsOn": "none" - } - ], - "acts": [ - { - "type": "mark", - "scope": "B", - "id": "s-B", - "sign": "+1", - "pole": "ceiling", - "reach": "travels", - "value": "0..50" - }, - { - "type": "mark", - "scope": "B", - "id": "j-B", - "sign": "+1", - "pole": "ceiling", - "reach": "local", - "widens": "local-opening", - "value": "0..100" - }, - { - "type": "mark", - "scope": "B", - "id": "r-B", - "sign": "+1", - "pole": "floor", - "reach": "travels", - "value": "40..*" - }, - { - "type": "claim", - "scope": "C", - "id": "c-C", - "sign": "+1", - "origin": "ana", - "value": "42..48" - }, - { - "type": "claim", - "scope": "C", - "id": "c-L", - "sign": "+1", - "origin": "luis", - "value": "44..47" - } - ], - "form": "interval", - "measure": "count", - "params": { - "lo": 0, - "hi": 100 - }, - "scenarios": { - "conflicting": "40..43", - "outside": "65..75", - "floorConflict": "60..*" - }, - "place": "range" -} diff --git a/samples/typed-object-1/TARGET.bound b/samples/typed-object-1/TARGET.bound deleted file mode 100644 index 1b3ec9b..0000000 --- a/samples/typed-object-1/TARGET.bound +++ /dev/null @@ -1,119 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:d2046c548c1b482c60d05bb51eec28ef0290c8ad9eb27ee39afa89f1bb9d9e1b role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d deleted file mode 100644 index 6a89e3b..0000000 --- a/samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 deleted file mode 100644 index e7b9bcf..0000000 --- a/samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 deleted file mode 100644 index 3ee193c..0000000 --- a/samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae deleted file mode 100644 index 2d87ef9..0000000 --- a/samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 deleted file mode 100644 index 38d76af..0000000 --- a/samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 deleted file mode 100644 index 2c3cd2c..0000000 --- a/samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 deleted file mode 100644 index d6ccd40..0000000 --- a/samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-object-1/fixtures/history.txt b/samples/typed-object-1/fixtures/history.txt deleted file mode 100644 index c5f56f8..0000000 --- a/samples/typed-object-1/fixtures/history.txt +++ /dev/null @@ -1,51 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 diff --git a/samples/typed-object-1/receipts.bound b/samples/typed-object-1/receipts.bound deleted file mode 100644 index b8a9add..0000000 --- a/samples/typed-object-1/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:59b55cbd5bcdd8764d6a08783c1e3dabd1ce1f7522819f52d36c3189c9d6cc93 -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d -bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-2/TARGET.bound b/samples/typed-object-2/TARGET.bound deleted file mode 100644 index 2f96d3b..0000000 --- a/samples/typed-object-2/TARGET.bound +++ /dev/null @@ -1,120 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:08d6a909cc3df633bc896d1c9eed6182fd5cce03d48e9c51cc6dc42f462fa5fd role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b deleted file mode 100644 index 31dd724..0000000 --- a/samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf deleted file mode 100644 index 0732d3f..0000000 --- a/samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d deleted file mode 100644 index 6a89e3b..0000000 --- a/samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 deleted file mode 100644 index 42fbbde..0000000 --- a/samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 deleted file mode 100644 index 36ef941..0000000 --- a/samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 deleted file mode 100644 index 123e611..0000000 --- a/samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 deleted file mode 100644 index e7b9bcf..0000000 --- a/samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 deleted file mode 100644 index 3ee193c..0000000 --- a/samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae deleted file mode 100644 index 2d87ef9..0000000 --- a/samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 deleted file mode 100644 index 38d76af..0000000 --- a/samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 deleted file mode 100644 index c485bae..0000000 --- a/samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 deleted file mode 100644 index c45eec1..0000000 --- a/samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 deleted file mode 100644 index 2c3cd2c..0000000 --- a/samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e deleted file mode 100644 index c3b6f69..0000000 --- a/samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 deleted file mode 100644 index d6ccd40..0000000 --- a/samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-object-2/fixtures/history.txt b/samples/typed-object-2/fixtures/history.txt deleted file mode 100644 index 98db78d..0000000 --- a/samples/typed-object-2/fixtures/history.txt +++ /dev/null @@ -1,52 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 -bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 diff --git a/samples/typed-object-2/receipts.bound b/samples/typed-object-2/receipts.bound deleted file mode 100644 index 5b3a67e..0000000 --- a/samples/typed-object-2/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:05809da5030b1679d844eb552a6c5cee1f399590eaf78f1746b2bdbe4a609d55 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:3326c8790f87075e1a238c123ab28287eaca427820aeb8eb1756580927660365 -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:7b6230d7a315af07be6385ed623627ca09ac669644452f818d5e2af420818aac by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:856763a8decea86be052b3257383574f3132e8b20774ef59f2aa906db498290d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:856763a8decea86be052b3257383574f3132e8b20774ef59f2aa906db498290d -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-3/TARGET.bound b/samples/typed-object-3/TARGET.bound deleted file mode 100644 index 3bbaa6d..0000000 --- a/samples/typed-object-3/TARGET.bound +++ /dev/null @@ -1,123 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:5abc0cd746a5cdfd01751df71f39d839caee5382d5224dd050e03571a9efd6aa role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 deleted file mode 100644 index dcd6892..0000000 --- a/samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b deleted file mode 100644 index 31dd724..0000000 --- a/samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf deleted file mode 100644 index 0732d3f..0000000 --- a/samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d deleted file mode 100644 index 6a89e3b..0000000 --- a/samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 deleted file mode 100644 index 42fbbde..0000000 --- a/samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 deleted file mode 100644 index 3bfd607..0000000 --- a/samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 deleted file mode 100644 index 36ef941..0000000 --- a/samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 deleted file mode 100644 index 123e611..0000000 --- a/samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 deleted file mode 100644 index e7b9bcf..0000000 --- a/samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 deleted file mode 100644 index 3ee193c..0000000 --- a/samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae deleted file mode 100644 index 2d87ef9..0000000 --- a/samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 deleted file mode 100644 index be5a0c6..0000000 --- a/samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 deleted file mode 100644 index 38d76af..0000000 --- a/samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 deleted file mode 100644 index c485bae..0000000 --- a/samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 deleted file mode 100644 index c45eec1..0000000 --- a/samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 deleted file mode 100644 index 2c3cd2c..0000000 --- a/samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e deleted file mode 100644 index c3b6f69..0000000 --- a/samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 deleted file mode 100644 index d6ccd40..0000000 --- a/samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c deleted file mode 100644 index de87ea1..0000000 --- a/samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-object-3/fixtures/history.txt b/samples/typed-object-3/fixtures/history.txt deleted file mode 100644 index a160de5..0000000 --- a/samples/typed-object-3/fixtures/history.txt +++ /dev/null @@ -1,55 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 -bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 -bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim -bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim -bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim diff --git a/samples/typed-object-3/receipts.bound b/samples/typed-object-3/receipts.bound deleted file mode 100644 index 1af0614..0000000 --- a/samples/typed-object-3/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:8762400983c1dc1f547013c244f00e5c4a2059bf5c85fa908e3b4d56c1a4c925 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:cc29178b060ef2000f0de5a816a0fda2fd7efe0305aa6d14831e399345690005 -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:2cf72fdbccf22113f0a2b62c1e9f4aa73cb2b226c6531cce7c968d93b5eac0de by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2cf72fdbccf22113f0a2b62c1e9f4aa73cb2b226c6531cce7c968d93b5eac0de -bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:4bca2e13a4649156417252e6c66c861a95095c47e4cc14b38392eee55b396a46 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-4/TARGET.bound b/samples/typed-object-4/TARGET.bound deleted file mode 100644 index 48fb3dd..0000000 --- a/samples/typed-object-4/TARGET.bound +++ /dev/null @@ -1,125 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:b0c107600001f920f63cbaf1ade9bbf84edad1eae479d991ec16627411889d4f role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 role=writes scope=dep/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 value=sha256:520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 role=writes scope=dep/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 value=sha256:59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 deleted file mode 100644 index dcd6892..0000000 --- a/samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b deleted file mode 100644 index 31dd724..0000000 --- a/samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf deleted file mode 100644 index 0732d3f..0000000 --- a/samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d deleted file mode 100644 index 6a89e3b..0000000 --- a/samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 deleted file mode 100644 index 42fbbde..0000000 --- a/samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 b/samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 deleted file mode 100644 index 9144131..0000000 --- a/samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 deleted file mode 100644 index 3bfd607..0000000 --- a/samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 deleted file mode 100644 index 36ef941..0000000 --- a/samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 deleted file mode 100644 index 123e611..0000000 --- a/samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 b/samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 deleted file mode 100644 index ba34f8a..0000000 --- a/samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 deleted file mode 100644 index e7b9bcf..0000000 --- a/samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 deleted file mode 100644 index 3ee193c..0000000 --- a/samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae deleted file mode 100644 index 2d87ef9..0000000 --- a/samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 deleted file mode 100644 index 7634278..0000000 --- a/samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 deleted file mode 100644 index 83e6f9b..0000000 --- a/samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 deleted file mode 100644 index be5a0c6..0000000 --- a/samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 deleted file mode 100644 index 38d76af..0000000 --- a/samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 deleted file mode 100644 index c485bae..0000000 --- a/samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 deleted file mode 100644 index c45eec1..0000000 --- a/samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 deleted file mode 100644 index 2c3cd2c..0000000 --- a/samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e deleted file mode 100644 index c3b6f69..0000000 --- a/samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 deleted file mode 100644 index bc326ae..0000000 --- a/samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 deleted file mode 100644 index d6ccd40..0000000 --- a/samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c deleted file mode 100644 index de87ea1..0000000 --- a/samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-object-4/fixtures/history.txt b/samples/typed-object-4/fixtures/history.txt deleted file mode 100644 index 3015e39..0000000 --- a/samples/typed-object-4/fixtures/history.txt +++ /dev/null @@ -1,57 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 -bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 -bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim -bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim -bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim -bound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig="ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==" sign=+1 type=claim value=65..75 -bound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig="ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==" sign=+1 type=claim value=65..75 diff --git a/samples/typed-object-4/receipts.bound b/samples/typed-object-4/receipts.bound deleted file mode 100644 index 563ec9e..0000000 --- a/samples/typed-object-4/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:56d0ddd642b140b986b077d2a0fcd16b29ef48c4a9d7bfe022f992aa583aa2fa by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:2214fa080bf652821c25e2924a77121cb75be5924bdfd28517a6908a45780b45 -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 -bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:7c83c3954ba9a355573f179fcd267598f46567ce80d249324c6832c6c74e0a38 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-5/TARGET.bound b/samples/typed-object-5/TARGET.bound deleted file mode 100644 index 01b8163..0000000 --- a/samples/typed-object-5/TARGET.bound +++ /dev/null @@ -1,126 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:3129f4571d81b4808ff93ed7587dbee965315bea2c26c012b8f5d3bb356dd2ad role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a role=writes scope=dep/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a value=sha256:124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 role=writes scope=dep/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 value=sha256:520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 role=writes scope=dep/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 value=sha256:59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 deleted file mode 100644 index dcd6892..0000000 --- a/samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a b/samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a deleted file mode 100644 index f401e56..0000000 --- a/samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b deleted file mode 100644 index 31dd724..0000000 --- a/samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf deleted file mode 100644 index 0732d3f..0000000 --- a/samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d deleted file mode 100644 index 6a89e3b..0000000 --- a/samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 deleted file mode 100644 index 42fbbde..0000000 --- a/samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 b/samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 deleted file mode 100644 index 9144131..0000000 --- a/samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 deleted file mode 100644 index 3bfd607..0000000 --- a/samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 deleted file mode 100644 index 36ef941..0000000 --- a/samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 deleted file mode 100644 index 123e611..0000000 --- a/samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 b/samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 deleted file mode 100644 index ba34f8a..0000000 --- a/samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 b/samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 deleted file mode 100644 index 559835f..0000000 --- a/samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 deleted file mode 100644 index e7b9bcf..0000000 --- a/samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 deleted file mode 100644 index 3ee193c..0000000 --- a/samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae deleted file mode 100644 index 2d87ef9..0000000 --- a/samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d b/samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d deleted file mode 100644 index bfcfa00..0000000 --- a/samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 deleted file mode 100644 index 7634278..0000000 --- a/samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 deleted file mode 100644 index 83e6f9b..0000000 --- a/samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 deleted file mode 100644 index be5a0c6..0000000 --- a/samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 deleted file mode 100644 index 38d76af..0000000 --- a/samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 deleted file mode 100644 index c485bae..0000000 --- a/samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 deleted file mode 100644 index c45eec1..0000000 --- a/samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 deleted file mode 100644 index 2c3cd2c..0000000 --- a/samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e deleted file mode 100644 index c3b6f69..0000000 --- a/samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 deleted file mode 100644 index bc326ae..0000000 --- a/samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 deleted file mode 100644 index d6ccd40..0000000 --- a/samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c deleted file mode 100644 index de87ea1..0000000 --- a/samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-object-5/fixtures/history.txt b/samples/typed-object-5/fixtures/history.txt deleted file mode 100644 index 035141b..0000000 --- a/samples/typed-object-5/fixtures/history.txt +++ /dev/null @@ -1,58 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 -bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 -bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim -bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim -bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim -bound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig="ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==" sign=+1 type=claim value=65..75 -bound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig="ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==" sign=+1 type=claim value=65..75 -bound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig="ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==" sign=+1 type=mark value=60..* diff --git a/samples/typed-object-5/receipts.bound b/samples/typed-object-5/receipts.bound deleted file mode 100644 index 47bee11..0000000 --- a/samples/typed-object-5/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:0f0038e850e6250ee2ea200b6a68f3bf2cb1a370afbc23eaec9ed192c8af95af by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:07a984dd9883d098a0d0fe38d900031703b46e84764746846667022285ba8186 -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 -bound-lock/1 at=place:sha256:6b3d9ee8fa1ed42d33717982bdd9c5a82c5ff03e1bfd654c40f56f3577114fa3 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:7c83c3954ba9a355573f179fcd267598f46567ce80d249324c6832c6c74e0a38 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed-object-6/TARGET.bound b/samples/typed-object-6/TARGET.bound deleted file mode 100644 index e57b082..0000000 --- a/samples/typed-object-6/TARGET.bound +++ /dev/null @@ -1,127 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:5c05b3e1c555b54a4262114f56513b1ff17e7a7b58829ff6e28e6bc65a521273 role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 role=writes scope=dep/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 value=sha256:115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a role=writes scope=dep/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a value=sha256:124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 role=writes scope=dep/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 value=sha256:45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 role=writes scope=dep/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 value=sha256:520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 role=writes scope=dep/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 value=sha256:59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 role=writes scope=dep/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 value=sha256:947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c role=writes scope=dep/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c value=sha256:f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 role=writes scope=dep/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 value=sha256:f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 b/samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 deleted file mode 100644 index dcd6892..0000000 --- a/samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a b/samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a deleted file mode 100644 index f401e56..0000000 --- a/samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b deleted file mode 100644 index 31dd724..0000000 --- a/samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf deleted file mode 100644 index 0732d3f..0000000 --- a/samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d deleted file mode 100644 index 6a89e3b..0000000 --- a/samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 b/samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 deleted file mode 100644 index 42fbbde..0000000 --- a/samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 b/samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 deleted file mode 100644 index 9144131..0000000 --- a/samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 deleted file mode 100644 index 3bfd607..0000000 --- a/samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 deleted file mode 100644 index 36ef941..0000000 --- a/samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 deleted file mode 100644 index 123e611..0000000 --- a/samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 b/samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 deleted file mode 100644 index ba34f8a..0000000 --- a/samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 b/samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 deleted file mode 100644 index 4923438..0000000 --- a/samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:Iwp0NmoB8/maBL25tClYX2nNDTylX7NgWYzhmMyxyzcD88k0XZXSPRgNO/VXL+mP4ntdDzOXUOYaY4FzHtdiAQ==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 b/samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 deleted file mode 100644 index 559835f..0000000 --- a/samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 deleted file mode 100644 index e7b9bcf..0000000 --- a/samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 deleted file mode 100644 index 3ee193c..0000000 --- a/samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae deleted file mode 100644 index 2d87ef9..0000000 --- a/samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d b/samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d deleted file mode 100644 index bfcfa00..0000000 --- a/samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 deleted file mode 100644 index 7634278..0000000 --- a/samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 deleted file mode 100644 index 83e6f9b..0000000 --- a/samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 b/samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 deleted file mode 100644 index be5a0c6..0000000 --- a/samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 deleted file mode 100644 index 38d76af..0000000 --- a/samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 deleted file mode 100644 index c485bae..0000000 --- a/samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 deleted file mode 100644 index c45eec1..0000000 --- a/samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 deleted file mode 100644 index 2c3cd2c..0000000 --- a/samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e deleted file mode 100644 index c3b6f69..0000000 --- a/samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 deleted file mode 100644 index bc326ae..0000000 --- a/samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 deleted file mode 100644 index d6ccd40..0000000 --- a/samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c b/samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c deleted file mode 100644 index de87ea1..0000000 --- a/samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 b/samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 deleted file mode 100644 index 9d782fc..0000000 --- a/samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=15 id=withdraw-j scope=B sig=\"ed25519:sample:jFLVxzP6snI37MVTIVTl1YlOragUfenD75co+ma8wKP49qsFzoZbCQLvnoQ3VpqfkMfOwXwGAuCfNrE9/HUWDw==\" sign=-1 takes=j-B type=mark\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-object-6/fixtures/history.txt b/samples/typed-object-6/fixtures/history.txt deleted file mode 100644 index ad3831b..0000000 --- a/samples/typed-object-6/fixtures/history.txt +++ /dev/null @@ -1,59 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 -bound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig="ed25519:sample:R/zP4wOiuK2Akx6BBN/IS6m9JniYzMREGV53fu/mhZ0kbkKJ0MLcjO30U+T7KPpO418K27eIhiZIogqOq3gRCA==" sign=+1 type=claim value=40..43 -bound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig="ed25519:sample:ma7m59uH6hEGZ69gV8XKVvNssZ6XNOyAydwFshRhEDn8OMYQI/y08tMSAd0w9QtvvoNKmXD+uWB/6rLc/WwdBQ==" sign=-1 takes=disagreement type=claim -bound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig="ed25519:sample:8z17fW7zO+3zugskfihhjDejavHnqqpH3tmp7Vmfkpq0eu3wz+zpTuMtoxR80JwVQp/X3SvRAHmvNAAsM6E4BQ==" sign=-1 takes=c-C type=claim -bound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig="ed25519:sample:PqZ8DIlGBzQejn8LIzVd2Fki28XpLgaLUJLV2lLmw4EFimlwLald5RnEoXukZFXEflCMvF1drWgVqm2iwE3rCQ==" sign=-1 takes=c-L type=claim -bound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig="ed25519:sample:NuWm+JBfqOJvya0Jv7VNFqndLUsl/eTRStpF5RvBnPPEDSPWU2rC9Cccq0m+LRpWMedalq1v/NMOkw1Ge+PmAA==" sign=+1 type=claim value=65..75 -bound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig="ed25519:sample:7QII7xpJ47X39FhcBw+yzxaVtOuHBSiiV52Ub2bcF18/ujlhGZuVH/S3k8OaOM3YiShr8Y8nCZOksOOX+c/mAA==" sign=+1 type=claim value=65..75 -bound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig="ed25519:sample:jINCGwPZJMXMIEV8jd9YdK1R4TzhrJD+q7khhNdggV8Dq/DfS51QzIdLDSGE8ChvgjvteBoXHiw4RC+jTpLlBg==" sign=+1 type=mark value=60..* -bound-lock/1 by=device epoch=15 id=withdraw-j scope=B sig="ed25519:sample:jFLVxzP6snI37MVTIVTl1YlOragUfenD75co+ma8wKP49qsFzoZbCQLvnoQ3VpqfkMfOwXwGAuCfNrE9/HUWDw==" sign=-1 takes=j-B type=mark diff --git a/samples/typed-object-6/receipts.bound b/samples/typed-object-6/receipts.bound deleted file mode 100644 index cf262bd..0000000 --- a/samples/typed-object-6/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:0e667e85bc8c97d6858b444b7b86af2ccdea233e1ad4cf07bf33f4917c92a63d by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:e44f9ad38dfa3bab0043c07937d1c1c80e4e58fa1165f7012b04002cf2a0e2fe -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:2d9addb30c9fb61b9d94d7e780784218dd77c5cfe228f3340d277847b520b4d0 -bound-lock/1 at=place:sha256:6b3d9ee8fa1ed42d33717982bdd9c5a82c5ff03e1bfd654c40f56f3577114fa3 by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:7c83c3954ba9a355573f179fcd267598f46567ce80d249324c6832c6c74e0a38 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:87ad8e34d3622c1125a4eeb0610d3785a01ad3afdc7222f7e0c9422ed4022b33 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 -bound-lock/1 at=place:sha256:9d664273454e5ce554288f74a09564b7f94a4a9d3355ded03287c72f7fade342 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:9d664273454e5ce554288f74a09564b7f94a4a9d3355ded03287c72f7fade342 -bound-lock/1 at=place:sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:c1a9a78d3db7821ef85021169fc5627ca41af7a04ea2210ab20de88795fc80e0 diff --git a/samples/typed-object-7/TARGET.bound b/samples/typed-object-7/TARGET.bound deleted file mode 100644 index 2cc1afe..0000000 --- a/samples/typed-object-7/TARGET.bound +++ /dev/null @@ -1,119 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:9479cc97d314e5f46f9ad345aeedc3a66c4925234d343751841b3d9e43ab61ca role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d role=writes scope=dep/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d value=sha256:2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 role=writes scope=dep/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 value=sha256:65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 role=writes scope=dep/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 value=sha256:6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae role=writes scope=dep/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae value=sha256:758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 role=writes scope=dep/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 value=sha256:98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 role=writes scope=dep/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 value=sha256:a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 role=writes scope=dep/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 value=sha256:f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 diff --git a/samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b b/samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b deleted file mode 100644 index 31dd724..0000000 --- a/samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf b/samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf deleted file mode 100644 index 0732d3f..0000000 --- a/samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d b/samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d deleted file mode 100644 index 6a89e3b..0000000 --- a/samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":51,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 b/samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 deleted file mode 100644 index 3bfd607..0000000 --- a/samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":52,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 b/samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 deleted file mode 100644 index 36ef941..0000000 --- a/samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 b/samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 deleted file mode 100644 index 123e611..0000000 --- a/samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 b/samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 deleted file mode 100644 index cf16917..0000000 --- a/samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=15 id=withdraw-j scope=B sig=\"ed25519:sample:xtPOw6wzo11/sLRDT66pIet86Tdlk+U5ueB+fk1QyxsAq17h8Agal8e3SPnhCp3m0grXf5RXYti/05ADFasqDA==\" sign=-1 takes=j-B type=mark\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:Iwp0NmoB8/maBL25tClYX2nNDTylX7NgWYzhmMyxyzcD88k0XZXSPRgNO/VXL+mP4ntdDzOXUOYaY4FzHtdiAQ==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":59,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 b/samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 deleted file mode 100644 index 4923438..0000000 --- a/samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=14 id=incompatible-floor pole=floor reach=travels scope=G sig=\"ed25519:sample:Iwp0NmoB8/maBL25tClYX2nNDTylX7NgWYzhmMyxyzcD88k0XZXSPRgNO/VXL+mP4ntdDzOXUOYaY4FzHtdiAQ==\" sign=+1 type=mark value=60..*\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":58,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 b/samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 deleted file mode 100644 index 559835f..0000000 --- a/samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=13 id=outside-b origin=luis scope=C sig=\"ed25519:sample:yap1ikA4elsusXT1qSrCDhszB4GmwmBVf6Nd1DQZ6V05POcMqgJQuP2GCaIrGGza1N6h9bTSixru1ilnibiPAQ==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":57,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 b/samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 deleted file mode 100644 index e7b9bcf..0000000 --- a/samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":49,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 b/samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 deleted file mode 100644 index 3ee193c..0000000 --- a/samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae b/samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae deleted file mode 100644 index 2d87ef9..0000000 --- a/samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d b/samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d deleted file mode 100644 index bfcfa00..0000000 --- a/samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=12 id=outside-a origin=ana scope=C sig=\"ed25519:sample:NHvp3YnXE6JQ1ROamQsbEmb3Xo4iLiUd1Ezg0dFC6PLFS2/Jt1cXCXgdDSJXjmtSmQr1LU2YzqFCXMEkme+CCA==\" sign=+1 type=claim value=65..75\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":56,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 b/samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 deleted file mode 100644 index 7634278..0000000 --- a/samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":54,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 b/samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 deleted file mode 100644 index 83e6f9b..0000000 --- a/samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":53,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 b/samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 deleted file mode 100644 index 38d76af..0000000 --- a/samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":47,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 b/samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 deleted file mode 100644 index c485bae..0000000 --- a/samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":50,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 b/samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 deleted file mode 100644 index c45eec1..0000000 --- a/samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 b/samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 deleted file mode 100644 index 2c3cd2c..0000000 --- a/samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":46,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e b/samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e deleted file mode 100644 index c3b6f69..0000000 --- a/samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":42,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 b/samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 deleted file mode 100644 index bc326ae..0000000 --- a/samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:HJE6eG6xDAb/trXLBq+IUnkJTcAEC//Yw3bjebX4/KmmH1MdusO5cYUsJ6bia0xA77YGx1J48Td5CdNJ4PnZDw==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:uxCQ2ZwOWOBbjzjXjeZ7X4TqI3b3XAh77DkdEX97j0vENEx32QJTl1RgiZxQtzlyxHFqK7Y3CT8gdxDxxPGjDw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig=\"ed25519:sample:87ghwitrYLaLGTmSLOjNWeg740ApBKq4E+AacJs08Rw61bAPRiOY31OtgAho0OdiP0DSnyxUuj3IyG3yfbEaDg==\" sign=+1 type=mark value=40..*\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:hny7qfJTcMBmfqcG6kxpz0RKGSY85oi25X4Vph6Ed5gBhW6+eBAJt+SM2flBmElV1P3sGrpuR4GxJhyC3VbmBg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig=\"ed25519:sample:Zutt+MGQNlCq/pIkTUoEhdlNdOxbtmSVJZuYMODor8gsETSqdwOfEf3hVghI0qvLOlj6D8Aml9AQ+arSpH24Aw==\" sign=+1 type=claim value=42..48\nbound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig=\"ed25519:sample:qX9iA4qGyVAqT/N6hVSEz2likjOoNPCDCNEt3KYoZ7O4MNfA0+ILjeW+i370oW7BGGpNUlyHVKNUWHdS350iAg==\" sign=+1 type=claim value=44..47\nbound-lock/1 by=device epoch=8 id=disagreement origin=ana scope=C sig=\"ed25519:sample:FHlKejRvWMBmzj7EmlbMkwzp6bGLvjHHdkHRSZPcYQqV2vEdG62921d3uNAmOcwt/4K6gv0gGD8oH4E6R3XPBA==\" sign=+1 type=claim value=40..43\nbound-lock/1 by=device epoch=9 id=withdraw-disagreement scope=C sig=\"ed25519:sample:5T9xUsgGSCadsUgmOuPkHOTZqarMSPZr7soWa+vP/Te2BVHgSphz3pjDSrNyMgMxxqpPdTjgeRLWlNVPrNypAg==\" sign=-1 takes=disagreement type=claim\nbound-lock/1 by=device epoch=10 id=withdraw-c-C scope=C sig=\"ed25519:sample:yaG9dDYVIRzPDuDqLCXrUa3tHBBa/VpVNpmVH56C9EF5NEfiOa7wG398mbZ0aPAdbWTeBXsRXoy04AXqoT16CQ==\" sign=-1 takes=c-C type=claim\nbound-lock/1 by=device epoch=11 id=withdraw-c-L scope=C sig=\"ed25519:sample:boMd5K3UbyBhVvk2WhKZbdyMQUdR0fWRGwxqWC/tmdW0J1lOXnWQmcFpNdnMQ8Qf+TGw/WbGJIlGVZevQpjABQ==\" sign=-1 takes=c-L type=claim\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:tz0jNjirY27lPr21IIXKv9UMU8bKryE027yx/s1S6m8WwCUuebfIBQ3A5OWM8gThUBSrgCi7jLnhum8RrmLdCw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:bhyaj1YucNGthOLjy1QKCF6MA1DpU0yD6vWU7EoAaABTJxX9X7CX1Cid6GXUPsicyQs4YmyLn2QHgAKOtW/NBw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:rWERUbzbu8GDdsTgGpkwi5FkBLl9JNEu3GimwkuMyTXnGj79+b6V+0AMJVf3pq7oIlHAQ6vEfBSgADRSBKHPAw==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:TClfYJ5twGo8FsUbKyPRWIQpg6iXt40CCFWzYQjm0Ixu6G/ZncHnCfTXHVGPlMn3O8i0/JI2qoQQAISbijl4Dw==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:BHOmJiQxzJuqPuBFyVhRdAo+jpvgoDmTHtkkNEjqTP9Ma+Nbs1OhFBB/IuHywgNF4bRRKSwuMsC91oIpxh9aDQ==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:YTRX/IkbqAhUhtxoJA9JGEaUy1zrerxEjxx4K9/qTOQ5fQaT//+JAobUVWR0ym8CDzEroITVORUfhWCeGmh+DA==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:mvREWLsf6NFJWWoYzxk3PBYzvaHKJx88fmGsyDSp52baJNbaTB6T7R1vgXPTJAtCi7wmgqoQhsv3AV1wQOheAg==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:AUC+HvKSLp6KVTWYFaSOAxRbTXimhYyTMQS23iffMvH7fOe7Vi7eMkHhxnWeq+FwEjLCtpR0qNK6m0hZNXKJAA==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:Dm20gMI5M7seTVFxyOUoUNkuLIgcRBebeZVxleyBFv5CKvSeOWnG9G9FQXZ7E6Z/9O28GR4KZhVVWXhc/1pLCw==\" value=\"MCowBQYDK2VwAyEAj2khQ6GYF1EYE8eSvZBfLzvwtYcP9WrWtNKSTgoHMG4=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:nXSv6ao+/t6DShTRrT07xSFauQyRhsizBKv2GAKGqqaFLOJT9ng+BgM3Giw3A1XFcrlOJgfJbGeWMOp3nke1Dw==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:WNc3dohftyY4VNWw6zJO5YnP4S+vEzTlMHuOgy8j3EV68+GEZNBVllB+A4ar4cnxHZS9A/t6pBJz4b+j/spqAg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:sDbtq2sRUt4K4okAtiA66F5SQf8H/Ef8jVBjAXJNF3jYxQ/fzH9VVd0h3Z021QbFR3/TyJXVGephjGCDXiGDCQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:P+Cus51/Nutmj2vYfObcEQE1u2XLIs5WnQM/BLjNA9AHROc2kRiBvHZBl8QOv7ipibQGNSx2pbfPzLaq7s0aAA==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:93BIwixIBZdgyXclrrhaRdNnnmHj/Oa9vbswWN2n50CuyvK1x8iLXNBtbZHJeg6LOYReSzTXRkYXdq/KJOWfBw==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:ee89AFYg39AqtGCdY48Y3KHwqM0jwYzSIEexBsZunot+Du0Rx7dXiG8P4c3NpVbcrfFkzQ5+y3o0hpZd2EX6DQ==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:ST8vBHZ3ULePNl4n9zJdFZGCYZY4WGW3xtCVNWzD/s8pAtHfwuwkrhqwyzTHec4AnYsIsoqyV48UndtQ/rgZBg==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:8no714KBgHSuhwlzj3cOQwaUl63/SDyLJnLy6jtk607vypdxN3D1/A8kzSVIGBYF6BgebMA+sKJ2p64W0/EaCg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:nadKRa7gorCXBKeqkiXrVmgxqxHHQiNCXTEQv9AFVHoSRJ6N/c0AnAmzRevcgFDrWweXyIngJKy6NcMsXpnWBg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:UBol7Tu3YCB0pWsuZdlfLLLvcY2FiCYqbb5Tpf71w1p0W1NbRO3MaZbIPnXCWRNjVeka6wrRhXHDpxIFvKa/BA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:brt7Piz28dg+w90SGHBCl/Zf7agnN92Xe0YtkyAdVQlbSXTp1AFCNG9IrR76ezOqDASXeHhEjUXh9mjVkXCIDw==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:XKf2u98nOlxxSFo6MInpvse4xK65AqWL+m3sdcKeCVJaPFd9uXwnqJENfRkGMLQejq61vnoUxu/D2NAk/ypuCA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:pJ9nGbI8x5GKEtefP7DJlas9oyZa9iSkW9PICJST0vEXsm+68YjjwEp0P4IZ0/VsMBb0GFEibzjw7/eLNNE+DQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:e+k/Yr0OC3jGBLUAHnqzSRoy2ucJ9trYZ/gFs6HzuynA38/2PU/arxHYqLmKjNBCXl552imWY6BJKkEorhcBBw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:WDfnowKaZaro/R22goa1HN2S8l6YadweHm+yeZzjLxBxXDlgAs1WHtJiKPTw8Rh8Y/vRcu5cu0Ca7wVoLZcGDQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:6pk2284hgpaDka7JRHFQIBFbW00W3RfP2CqdMt20U12zH9WpWSYJzSLq+276t0FQiBhn6ZNggDui596DL99nDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:JbJEjYkuF0Pt1IHg4REhU6Xhg5bkrMaNkU3LeIMXK2rQXv9T2ggtB1xBTOqRLxIZOnieHar1f4T4QYLUrabWAg==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:YxMM0Y0fvfwhvO8/SAk0uneidwK7xxO6+xWe3dOkzenSaDCwC0UyMcBIISfTH4bEqrWZeEJgUsZL9aoGnRO5Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:58e4bboC5Hm1ATorFmB9GJrPT4bAAH75RkCeS+WHI13GtTVoCPan7ZL79K3hXqnZwEWJQOr+nTXr7WVNQN4CAg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:KyMsW//7EUYu7SnjOPcVqYeUSYBNCPzd/3BZaD0WT4Wo6UCsUJmoE4INaoV8qBubaIQZaWQBh+Mf1U7lVXwpAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:ewTBaGma+9upGHy9h+3mWADLxFjOl0yZ6BZ8nC8eUmZjLKyRQ1XOa0L9omQxoJ5GM3tnEQf0pDxp8vvl0dhpDQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:PuESEGRRE2Ip+BMdUTZHgiIGe1j6kPlCFa/4VNaUqQjkLby/J9qp5rvNO+hvIiTUcG5MVyUB5Lqep1bcVzsfDw==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:uvzTnFltnNDd0XiTNzuBitsKgYX0CCkhfng/0oWcQLaCrTcHRe1nh8Aj0pRGMQ0h/iEIh3xcbrhMgbTaZiiRDQ==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:wle1+GwU4UEMkAa53fBLmaMKa9VHFjz3wOPyOzjBNudUIvMtwsKL2AQbp3Ip0a1za4/fbzvgFpo/Fy/3VSWJBw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:Y9UVmKNtIUxwsZ7fka1yA4W/QfGlLC8XtFe5KFCnEtBU31loF0tKa0WPnz2QrQfRINDzsNtX1H8kMeuFl8njDw==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:7AggANIek0Aihk/GolR+EKadUf5mia3KnI8IXtc8DfBPjA7bH05dQgwNcG/Y3F6fH+okTChqPkNqZgjHfF9sAw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:PBrR2yCEeOTIvCIIhsAiuxdRwFX4JnQfAITbxh6r9QquAcgghZFHH2nCFgIppHliALyQzvJ7paSZycpjjrS6Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:WnIeUp0O8af1V6fzE67j88NaJHrO90M21W09jHkT71/FctEjaO6hHcrxx5wYwONQnH5ubVNlYpVo+1gKEfvcAA==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:mOvbpF7VGm8R/eBJcojVx521vehmBlu/aD+An8LKDdrfMdtmfSZUynxzkHkJu551JkRa3Wu7fMCiF5qaaQY+Bg==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:5dCYO268opxar0fQp1rpmI/KYYZENfB9mK+nlBIPsJedLzJWjlDMqUV0BjyjlEMkctsMc99jYapRoO4OPyKLDw==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:90cMUNLRWEE+M0A+nFq8p3Hhqadnsj+FxtHrtBCejbGLdiW2f6htphTMeegXcR3FkvjEhugb8MUoa2OVsaGYBA==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:GcV06Wt1sCFLT8mq3WLpHeRuLN3L7dulcXjS/NwNCPhhiB9QeQ509qoymzpTM9T9lK6pVm3uTT41y8aspX2sDQ==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:3G1plWCRrkY7ynxIcolMQgOuHsWsWV0fvwRIPZvqBg+WDhQT3bnRuXnGigSe6owQiBvnU4vjH/DbegQrYipYAw==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:qmkWm4+sJBYIPP1UDbb0ncHQbnWdCJ6pl3pzxW76zoFkuWtTSYU71uK6w8jQh//yhOq+hRxNp6dDAYzAZxqyBQ==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xqNL518sT6iTyBj7m8UOmHmB/AfHI7e3SxnDyy+HUQkR0Da4NgFUQK42Q41TyYUbsRyp6DZ9A+qNB2t0gGWBDg==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:A+xkG23V9djrz4fez5b6YrGHumzbHI7kqllQHGJ3L5nL57tRk8X2xK4IaWjnUO8Z5UJIWHR0QPf/GwI/eD1vAQ==\" value=ed25519:sample\n","standing":55,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 b/samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 deleted file mode 100644 index d6ccd40..0000000 --- a/samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig=\"ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==\" sign=+1 type=mark value=0..50\nbound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig=\"ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==\" sign=+1 type=mark value=0..100 widens=local-opening\nbound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=B sig=\"ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=B scope=C sig=\"ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=none scope=D sig=\"ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params=\"{\\\"lo\\\":0,\\\"hi\\\":100}\" restsOn=C scope=G sig=\"ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==\" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig=\"ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==\" value=ana\nbound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig=\"ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==\" value=luis\nbound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig=\"ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==\" value=local-opening\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig=\"ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==\" value=authorize\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig=\"ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==\" value=*\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig=\"ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==\" value=\"MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=\"\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig=\"ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==\" value=file\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig=\"ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==\" value=fold\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig=\"ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==\" value=read\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==\" value=65536..65536\nbound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==\" value=5000..5000\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig=\"ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==\" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig=\"ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==\" value=cells@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==\" value=sha256\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==\" value=sample\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==\" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig=\"ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==\" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==\" value=alphabet|interval\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig=\"ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig=\"ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig=\"ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig=\"ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==\" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig=\"ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig=\"ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig=\"ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig=\"ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig=\"ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==\" value=by|epoch|id|scope|sig|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig=\"ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==\" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig=\"ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig=\"ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==\" value=by|epoch|id|origin|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig=\"ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig=\"ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig=\"ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==\" value=by|epoch|id|scope|sig|sign|takes|type\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig=\"ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==\" value=by|epoch|id|pole|reach|scope|sig|sign|type|value\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig=\"ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==\" value=id|origin|params|pole|reach|sign|takes|topos|type|widens\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig=\"ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==\" value=cell|claim|mark\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig=\"ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==\" value=semantic-live@1\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig=\"ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==\" value=coordinates|leaves\nbound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig=\"ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==\" value=at|by|form|measure|role|scope|value\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==\" value=ed25519:sample\n","standing":48,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed-object-7/fixtures/history.txt b/samples/typed-object-7/fixtures/history.txt deleted file mode 100644 index 35c059e..0000000 --- a/samples/typed-object-7/fixtures/history.txt +++ /dev/null @@ -1,51 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:d3wrT59DxJab1WsilHHVeXaUSiY5C5WfiJgDDXEOtUoTWOAp1pSDUIxixpN0ahfzOXtvRni9w8xo0U6cKCgUAQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:g5p5Jl3po28DlMiV25zgIbJmcGYKyJViGCgFKsHeuPCbbqTnu3qgrq9vv4KMABMq4502iHV89cJz//i8JozYDg==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:HOHu5gWJBX/Bz9HJUTcYIy39iMy4oaqYh+9WOpMp2trQ2Bc3KF9Dq3m2e4U/8PMkmxhS1Jr8Pw5t6ZHzc73dCQ==" value="MCowBQYDK2VwAyEAIpbO7k6wfrJuqm0/Aw/tPv6jIgbkitccUsbsNQqFBEc=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:EFiKzm3ppWQJVKy41xORtTA9YCuFiPHAg6fqCvj3Mt9ldGTdmVia4EeRpJmJwbpspNYLTZIe0zg+CYQP1soRCQ==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:t1e/sSTTVoABlg+AWMpeCUoDLiuKrng84LvjvmWamIkbt0u1M0kwVtwqR86FQ2FOkjD5lhqGn6rZD0DB0TwtDQ==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:Qmueyf/fj2OPCkZFInJ7uvjsVAvrQLTrm4dqotrGmKYSqp1F6wovFFdO9MpJqV9jxYwskIswc/SeYo5tqD1YCg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:jRNWSe/rBBmDBMg0RVaX6/gJFTG3R5iwwjmPB/03ABVD6jWr6HKUTZDko9q3Gi6kcZRb+ZCGYJG58u3SxXOaAQ==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:zWonUAkPRyjo0MTPWQPd5OvCIhhpBJSDHsmD0cX9a3Fv6HKdtMAYvFEfEcwDffGow0YDBGIcEGOp5QidX77oCw==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:cVmatYgJ8hgl9D0FtiQU8BR2gKjAEkVmxZMFUh9bqsNGXbBtyHsRLuemMNl+FFGi89ZFGD2tVsYEo4pMeSv1Cg==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:aB2v8rXKthAIqe0PHE9iEliolC2qtXio9TxSqM+Sye+YbYTHZHYQPF3ra8p+rLjC1Uw+1GeYv6puxT93YNNPAg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:iXMut1vO/jMKrr78SSm+aCuyqKh2BifA7jhE5eXOORXt8R8ti3KeV0eyKrFXcaiC9/6gDPiU/3PndRhmRDf3AA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:rg6weNqJFcjGTAikW6UkfF9LTj27m5STy8TEpXb0Fb2LsmMkrgiWxysLHvsZ5Bn+xP8kj5/eP6aOJrnZb6a2CQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:UEW3IdEu8PLVoAa8CcVcHWDYkD775CXAe4FukOqpJ5J9Xy3H7L5i3etr0nXhXms0hc5q0SS9g4K6nqHkIAIXCQ==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:WzzLvmrnTQJrwrv9kCFcBqEj7Bu+Ip2uw0QnSYeO585AS2l2L7DgFQJ6nUyGjm4TNH7+xeAfvF0EfB1MXZ8dBA==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:BrqCNJiIaA0ALq6TJdeG/9iJ6c2RYZn+3E/Xg2MrL9FymuxbdNS829wPIsh6Q+hFVXfrKZv7ufYniN5e8T09AA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:uOQDlhkHtFwtSZZt21E2r3C8++YLtOB57I8YsqsnVuFsuEHtSRgGhcV2O0DMvvE0FLmui26Pl50f96HhnS4yAw==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:lG1pRUNhIQ6YsIjP0jozNAU+QHjBhDTpaAF2NsoBzn/5h6AVzqs6fvmLN+elJqYI3YyhR8qSA10+uM6Dx4NqBQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:TqdVAsF44MlaAN79JmjuOYrhzzWFkUIsP85fSYHX9QxXNpZz1EoRm9sylUJcz/z/LmQE8xrTT7FBnfFBvmqqAw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:zJX6ujYNhHTulOmQrrtRzzRZAkDbCXrX10Tw3QarKBVDjZtoOaRGcfIYHI8srYLOzBIPzK5A84hwI1dO7rAHCg==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:CXucqAooltvxeFoXKUhFVFB/HOhlAYtWIR3rJe///FrA/pDTud4FxTeI9MTU7VVsvkpYnfBWfIb8ORcgjPlnAA==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:JCdZnNOTM2qI2h0PsDh5SfyaYoba/PzdAKoYiTfzxP85teb3CzVac6lNkA5QxJhZFhSODRFP+gWU9SqBbntmDA==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:a2E6fRiGIbQhrNPXjgBc7f6gRWg+47y5azwhG2XnEX3a1TdKYgrakuMljP7kGz27Vm3SNY1tdkdO9e/ffAG3BQ==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:mWMvEx889y9OigE1PWzOgOsx0pZu2w1eghDXmqmoKpZGmgG9P5xqsGsTeomB8+1uLX2zp3ucHp0Ga7fcV7WjAQ==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:VbOOVjyrloE+vtnyPofy7gEkEzyFh//IA/wlX0MmPZxccWU0qCKpaIAcuVncxe0kJFxmaQXcgy0StE+ZUhMTBA==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:eqaOjtiC7IgJSCaUAe53G55uYBVANsoTTiPqGJ4sH4YQVw3sQueyhipnfsPlru4+2vmzWkovsgePswbWj0ibBA==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:HV6WfoPE6riDhoU4Y0aI1u+vwmTMN8FpRFO8JyRjV0JhEt2mqF6gkKxBFMGSv3l+UxkCRD/1RmniVvKy/1DNCg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:FpdIF0XyAToo/HLbJqN8aay/kj4yc8qe9wugSHTSN/mUaP8rkzCsLVZBwS0iQENpIogbiG6NlQgRNLLClF4RCw==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:nYbh6SovngoyWanTFyMsznhlI1iM0PwM5u36MvambeA0+Igqk4oAhZwNEMc00fyfHqYI6sA0JPYn9D/MnWqnDg==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:+sGTKNn3ZudjnxO6UK2IC7dDPPI2D8xNsB/ZXy5M/BTiPV4czOQgr2Pf3IuELBFeGbtMjxcxfacfM9OlcPUdAQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:dWjoAXRf74/0JjtIV11Xzi8vHITyv1uIx3IXp5cxeFPRC/rv6yniNBD2kXaktWr6fm7NJWWkbNDx230JQeggBg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:IGIq0iXNgVsobKuq2tih5ti1RvkHpm8M1asHJQQtOBJwCiyEeiYnasbb32QvhWEYr0q+gYhCh5rrYUHFrJZNAg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:SInsWOMO75xbLe1CajxV+EncC5seZeqh0/0/Bp28VohVWmQLqWiUAx+gda5tSVTXI5qOdI6HcKlzYizCiasrCw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:J52lLFWnbJdkGo96b7DqD/WljkSe+mx9xYxyBgDYOiI91cce/t7gFK76aA65aUT8xm4l70RKRwwpfqxs+TM5CQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:lmU4Ura9MqSTlPu2Ck3B0ubqq0G31AcsuFsgvQd0SDSukUsoDbHJYAotQ0BTD4QM7i+DiKh57APjgrHsA9zfDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:ptcrJ2++T8HF/FTtpuaxUBD0DxCGpXrFBJBIEG70AEDVNuIMj+NTA+dIZJc1ZaUTIDJQTCMEPJHt4vPqsyrxDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:eDqnR0aP7zp+nw1orn3q4SLE5451cDa9WaH9didBI/o2lt45+/S7LoltDtld/+6Q4wJnVQMJmwlEon3PkA6QAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:yy/3y8ZBl2p3oKNDjW7YYYMVqzw0MQZ4FKPidw9G9gnc3URnAXxAYixwyGWZaLLsQ9sVKO1UC981yr/gVAX4Cw==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:lJPTzowxbGbHjtBeYV9k4v2MAcgZ8QONK+dSYXTc8uQWz+4+3ZGzw3fGOrMxDVw51wnZ37hFUqgyYMWJZ7KOCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:uw0lcmCcg3dO1P4uE8UVAgyDC0LO4dpWVe3ZCUL0QN+z8u9UbbZZPgMxM+Hs3t3qiSDulXsTWEJUNG+5D5vxCw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:3BCPmcw/AoOCE27JSPKplGZ20jYhV9MJQUe/bqtDJJyq/AxhwuGVUUvJImE3xKL5EhGzmMG5PJwjSKORKdHKAA==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:+MZPhiLMaZBJPa/O+m7bp+MPaOjajxka9aby/GaRgFWuTP31C8a3ulEyy0Rw/eX5W6CrGj8oLrvmFigMXx2BAA==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:rflHF8WfVP/F1GrIAfOmCNXSem5jcu6MIDC0K5Qen9q58rLPXpRGPwGAAP/OCIK0epzqOipw6RaougQbhMFeBQ==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:vuCJWG5x0Ay2Zu7GnV4qbgXa/mb6S69fBC3IAknNDdVkKXCIj/shh22p3ncvx3ocG9Dm1WES+ayz55ToutZABg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:oZBD572PDuK6vUDTdDiNjhFvB8z9f7gIJLNwUwpItvC2fooBh4eU4+c1szmQS4ilMcjFDabF3REUTVLLeZMABA==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:Fe5cDBUq4i4xdSGs201sLTi3y71syiExla8csyXudIq5fOjG2lWu2qbReP19LWJXMKsDMS2anETlhLm1wNjVDg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:vXFv3yhrXAXKUscMwZbwSfFhFjPYLUNPs4Hzcks7ZaYs+EdREuAkVC//PRK3JX6EVHsenpzwZbgpu9CL6SM3AQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:n/DEn+MgrCjVOROtXg5rvKGc6nwjmVuXzDzaOv/fVBVWlW1OuCsoBuNiQAcsckXm4DMXYmXlTk4X4ZZvJYcBAg==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:dCeXxtC6/R0JUZ7qtQc+TRtnvLOxHFoBqIC+fLigmJQkkLumWVlcfX5FJAbbLkClYou44Rx8yvtod3UdUzvSBw==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=local scope=B sig="ed25519:sample:brqEq7ekn6Z7KBV3+aTzEAHa7fuXWgHiDzpx41zmRHAMcirafFN9RCPJffyccp45FB+SAZVdL2fKRJowPF3PAw==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:PPNxFC0erPjwRGxsGGhJJV8taTOrIUQre9Nka+vQaFPJLOR95Qs0PMbuAzSbClaAYupXQ2jhc51dpd6qicrsCw==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:twt4Rk4bh7oJDnPlbFIu6v7MdIuRVY7WGLsmjUyBmwbiGMYTZX25kb8zC+/qyLxS/oKUzQjsLfcq2Ds9hUetDA==" sign=+1 type=claim value=44..47 diff --git a/samples/typed-object-7/receipts.bound b/samples/typed-object-7/receipts.bound deleted file mode 100644 index 5bb8187..0000000 --- a/samples/typed-object-7/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:cac4cd94477bbd8c55826c3039f196a54cacea110b4ec7293dbc988b2a0f622f -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d -bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/typed/TARGET.bound b/samples/typed/TARGET.bound deleted file mode 100644 index b397870..0000000 --- a/samples/typed/TARGET.bound +++ /dev/null @@ -1,112 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:1TorNMceIKYuLAx7Maz16HxLQcYTpbrfTQK7rcFKWmSdaOLOp7k/fB1jPOgYOa491Liy5thLpOLEnF8FXJZaBA==" value="MCowBQYDK2VwAyEAG58z6dZIvmH52AzAoqqGA7M7jcoViAB3M9CsqWN912o=" -bound-lock/1 at=policy:sample by=target condition=B form=alphabet measure=id role=writes scope=evidence/witness/local-opening value=local-opening -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/ana value=ana -bound-lock/1 at=policy:sample by=target condition=C form=alphabet measure=id role=writes scope=evidence/origin/luis value=luis -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/device value=authorize -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold -bound-lock/1 at=policy:sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read -bound-lock/1 at=policy:sample by=target form=alphabet measure=coverage role=writes scope=keys/device value=* -bound-lock/1 at=policy:sample by=target form=alphabet measure=digest role=writes scope=uses/sample value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id needs=fixtures/history.txt restsOn=sha256:1886c65bccec6469fb99dbe393ecfdb7c3886b3b48d27698fa1052410c5d717d role=demands scope=view/cells value=cells@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/families value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/receipt-inputs value=semantic-live@1 -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates|leaves -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:sample by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:sample by=target form=alphabet measure=signer role=writes scope=keys/device value=file -bound-lock/1 at=policy:sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/fields value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/config value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/common value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/cell value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/claim/positive value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/local value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/negative value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/reserved value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/object/types value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=target form=alphabet measure=id role=reads scope=wire/required value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=id role=writes scope=publish/bootstrap value=present -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 role=writes scope=dep/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 value=sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 role=writes scope=dep/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 value=sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 role=writes scope=dep/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 value=sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 role=writes scope=dep/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 value=sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 role=writes scope=dep/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 value=sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 role=writes scope=dep/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 value=sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca role=writes scope=dep/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca value=sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd role=writes scope=dep/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd value=sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 role=writes scope=dep/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 value=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 role=writes scope=dep/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 value=sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 role=writes scope=dep/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 value=sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 role=writes scope=dep/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 value=sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 role=writes scope=dep/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 value=sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 role=writes scope=dep/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 value=sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 role=writes scope=dep/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 value=sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e role=writes scope=dep/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e value=sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 role=writes scope=dep/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 value=sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d role=writes scope=dep/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d value=sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 role=writes scope=dep/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 value=sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d role=writes scope=dep/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d value=sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 role=writes scope=dep/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 value=sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 role=writes scope=dep/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 value=sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 role=writes scope=dep/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 value=sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 role=writes scope=dep/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 value=sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff role=writes scope=dep/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff value=sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab role=writes scope=dep/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab value=sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c role=writes scope=dep/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c value=sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 role=writes scope=dep/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 value=sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea role=writes scope=dep/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea value=sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c role=writes scope=dep/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c value=sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c role=writes scope=dep/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c value=sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 role=writes scope=dep/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 value=sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 role=writes scope=dep/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 value=sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 role=writes scope=dep/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 value=sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 role=writes scope=dep/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 value=sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a role=writes scope=dep/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a value=sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c role=writes scope=dep/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c value=sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 role=writes scope=dep/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 value=sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c role=writes scope=dep/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c value=sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 role=writes scope=dep/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 value=sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e role=writes scope=dep/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e value=sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d role=writes scope=dep/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d value=sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e role=writes scope=dep/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e value=sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 role=writes scope=dep/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 value=sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 role=writes scope=dep/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 value=sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d role=writes scope=dep/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d value=sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f role=writes scope=dep/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f value=sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 role=writes scope=dep/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 value=sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 role=writes scope=dep/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 value=sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 role=writes scope=dep/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 value=sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 role=writes scope=dep/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 value=sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 role=writes scope=dep/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 value=sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 role=writes scope=dep/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 value=sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a role=writes scope=dep/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a value=sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a role=writes scope=dep/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a value=sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 role=writes scope=dep/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 value=sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 role=writes scope=dep/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 value=sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b role=writes scope=dep/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b value=sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 role=writes scope=dep/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 value=sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 role=writes scope=dep/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 value=sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=dep/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 value=sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 role=writes scope=dep/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 value=sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c role=writes scope=dep/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c value=sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 role=writes scope=dep/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 value=sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e role=writes scope=dep/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e value=sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c role=writes scope=dep/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c value=sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf role=writes scope=dep/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf value=sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=dep/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:formed-place by=target form=alphabet measure=digest needs=fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 role=writes scope=dep/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 diff --git a/samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 b/samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 deleted file mode 100644 index dd947c0..0000000 --- a/samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87 +++ /dev/null @@ -1,41 +0,0 @@ -const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export const DANGEROUS = STATES.filter((s) => s !== 'CONFLICT').map((s) => [s, 'CONFLICT']); -const zero = () => { - const m = {}; - for (const a of STATES) { - m[a] = {}; - for (const b of STATES) - m[a][b] = 0; - } - return m; -}; -export function transitions(before, after, width) { - const at = (q, bit) => { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; - }; - const m = zero(); - for (let bit = 0; bit < width; bit++) { - const a = at(before, bit); - const b = at(after, bit); - if (a === null || b === null) - continue; - m[a][b] += 1; - } - return m; -} -export function dangerous(m) { - return DANGEROUS - .map(([from, to]) => ({ from, to, n: m[from][to] })) - .filter((x) => x.n > 0); -} -export function moved(m) { - let n = 0; - for (const a of STATES) - for (const b of STATES) - if (a !== b) - n += m[a][b]; - return n; -} diff --git a/samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 b/samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 deleted file mode 100644 index 6176f35..0000000 --- a/samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49 +++ /dev/null @@ -1,13 +0,0 @@ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -const READINGS = intervals(-Infinity, Infinity); -/** How the readings of one measure combine when a line reads more than one of them: counts, sizes and showings add up; a longest is the longest. */ -const COMBINATIONS = { count: 'sum', size: 'sum', shown: 'sum', longest: 'max' }; -/** The readings of a measure combined as the measure says; one this table names no combination for is refused when it is more than one. */ -export function combine(measure, values) { - const how = COMBINATIONS[measure]; - if (how === 'max') - return values.reduce((held, one) => READINGS.join(held, { lo: -Infinity, hi: one }), { lo: -Infinity, hi: 0 }).hi; - if (how === 'sum' || values.length <= 1) - return values.reduce((sum, one) => sum + one, 0); - throw new Error(`REFUSE·measure ${measure}: ${values.length} readings and no combination the wire names for them`); -} diff --git a/samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 b/samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 deleted file mode 100644 index 528e71a..0000000 --- a/samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7 +++ /dev/null @@ -1,14 +0,0 @@ -export function eq(L, a, b) { - return L.leq(a, b) && L.leq(b, a); -} -export function relate(L, a, b) { - const ab = L.leq(a, b); - const ba = L.leq(b, a); - if (ab && ba) - return 'equal'; - if (ab) - return 'narrower'; - if (ba) - return 'wider'; - return 'incomparable'; -} diff --git a/samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 b/samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 deleted file mode 100644 index 92b7f6f..0000000 --- a/samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828 +++ /dev/null @@ -1,29 +0,0 @@ -export { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export { chain, height, isDistributive, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export { asBoolean, bitLoss, compose, composeState, fuse, widen, conflictDebits, anyOf, missing, entails, permitAll, state, statesPerDebit, table, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export { WIDTH, and, or, canonical } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export { WideMask, chunkCount } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export { rebuild, register } from "./fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd"; -export { DANGEROUS, STATES, dangerous, moved, quadrants, runQuadrants, stateAt, transitions } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export { METHODS, weakest } from "./c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4"; -export { touches, holds } from "./575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2"; -export { declaration, asUnit, conj, disj } from "./c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78"; -export { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export { intervals, alphabets } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { foldIn, witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -export { foldSigned } from "./8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d"; -export { size, sufficientResolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { present, converge, endsBeforeNow } from "./d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94"; -export { yieldOf } from "./679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998"; -export { frontier } from "./5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab"; -export { declarationOf, unitOf, stateOf, registerOf, premiumOf, degenerate, withdrawsExactly, movesOf } from "./39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c"; -export { violationsIn, meetViolationsIn, posetViolationsIn, closureViolationsIn, LATTICE_LAW_NAMES, POSET_LAW_NAMES, MEET_LAW_NAMES, JOIN_LAW_NAMES, BOTH_LAW_NAMES, } from "./41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71"; -export { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -export { downset, freedom, fromIdeals, idealComplexity, idealDebit, idealEntails, idealJoin, idealMeet, isDownset, isIdealPair, isUpset, unitToIdeal, upset } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export { FORM_IMPLEMENTATIONS, FORMS, ladderForm, alphabetForm, continuousForm, latticeForm } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -export { buildGraph, reachIds } from "./5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea"; -export { isMonotone, vacuityOf } from "./f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c"; -export { permute, permutationBlind, unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export { answers, coarsen, coordinate, contracts, covers, exclusive, foldRegion, key, outranks, passes, point, region, resolution, retracted, verified, within } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export { disagree, latest, meetAt, origins, potential, turned } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export { replay } from "./3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1"; diff --git a/samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 b/samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 deleted file mode 100644 index 443342a..0000000 --- a/samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0 +++ /dev/null @@ -1,11 +0,0 @@ -export class UnitError extends Error { - code; - detail; - constructor(code, message, detail = {}) { - super(message); - this.name = 'UnitError'; - this.code = code; - this.detail = Object.freeze({ ...detail }); - Object.setPrototypeOf(this, UnitError.prototype); - } -} diff --git a/samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c b/samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c deleted file mode 100644 index 730688d..0000000 --- a/samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c +++ /dev/null @@ -1,15 +0,0 @@ -export function formatSignature(algorithm, raw) { - return `${algorithm}:${raw}`; -} -export function parseSignature(value) { - const colon = value.lastIndexOf(':'); - if (colon <= 0 || colon === value.length - 1) - return null; - return { algorithm: value.slice(0, colon), raw: value.slice(colon + 1) }; -} -/** The fields a signature covers: every field but the signature itself, with the signer named. */ -export function signedFieldsOf(fields, signer) { - const covered = { ...fields, by: signer }; - delete covered['sig']; - return covered; -} diff --git a/samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 b/samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 deleted file mode 100644 index 7a74f70..0000000 --- a/samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 +++ /dev/null @@ -1,18 +0,0 @@ -import {intervalForm, alphabetOfForm} from './c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf'; - -// This sample world grants origins and local openings only from admitted records. -// Signing authority and observation origin are separate inputs. -export function context({digest, records, admit}) { - const granted = (family, id, by, scope) => records.filter(row => - row.scope === `${family}/${id}` && row.value === id && row.by === by && admit(row) - && (row.condition ?? '').split('|').includes(scope)).length === 1; - return { - resolve(cell) { - const form=[intervalForm,alphabetOfForm].find(one=>one.id===cell.fields.form); - if(!form)throw Error('REFUSE·codec sample has no selected form'); - return {digest,form,params:JSON.parse(cell.fields.params)}; - }, - origin: (id, by, scope) => granted('evidence/origin', id, by, scope), - witness: (id, by, scope) => granted('evidence/witness', id, by, scope), - }; -} diff --git a/samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 b/samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 deleted file mode 100644 index 9bd0d70..0000000 --- a/samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4 +++ /dev/null @@ -1,40 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -/** Live admitted host policy selects a logical mechanism; a location never selects executable bytes. */ -export function transportSelection(lines, scheme) { - const contract = lines.filter(f => (f.scope === 'wire/transport' || f.scope === 'audit/wire/transport') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'content-request/1')) - throw Error('REFUSE·wire unsupported content transport'); - const one = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || new Set(rows.map(f => f.value)).size !== 1) - throw Error(`REFUSE·transport ${scheme} missing or conflicting ${scope}`); - return rows[0]; - }; - const name = one(`transport/${scheme}`, 'id').value; - if (!name) - throw Error(`REFUSE·transport ${scheme} has no mechanism`); - const limit = (scope, measure) => { - const rows = lines.filter(f => f.scope === scope && f.measure === measure && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - throw Error(`REFUSE·transport ${scheme} missing ${scope}`); - const lattice = intervals(0, Infinity); - const bound = rows.reduce((held, row) => { - const parsed = row.form === 'interval' ? boundOf('interval', row.value ?? '') : undefined; - if (!parsed || parsed.kind !== 'interval' || parsed.lo === null || parsed.lo < 0 || parsed.hi === null || !Number.isSafeInteger(parsed.hi) || parsed.hi <= 0 || parsed.lo > parsed.hi) - throw Error(`REFUSE·transport ${scheme} invalid ${scope}`); - return lattice.meet(held, { lo: parsed.lo, hi: parsed.hi }); - }, lattice.top); - if (!lattice.inhabited(bound)) - throw Error(`REFUSE·transport ${scheme} conflicting ${scope}`); - return bound.hi; - }; - return { name, timeoutMs: limit('transport/timeout', 'milliseconds'), responseBytes: limit('transport/response-bytes', 'bytes') }; -} -/** One request per invocation; successful stdout is raw payload bytes, a nonzero exit is never a payload. */ -export function contentRequest(location, digest, limits) { - const request = { protocol: 'content-request/1', location, digest, timeoutMs: limits.timeoutMs, responseBytes: limits.responseBytes }; - return JSON.stringify(request) + '\n'; -} diff --git a/samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b b/samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b deleted file mode 100644 index a95dd39..0000000 --- a/samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b +++ /dev/null @@ -1,119 +0,0 @@ -import { signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Validates one proposed history without deriving parts, state, meet, freedom or receipts. */ -export function validateObjectContext(records, context) { - const fail = (why) => refuse(`object context: ${why}`); - const ids = new Map(); - for (const record of records) { - if (!context.admit(record)) - return fail(`signature or authority does not admit ${record.fields.id}`); - const prior = ids.get(record.fields.id); - if (prior && signedBytes(prior.fields) !== signedBytes(record.fields)) - return fail(`record ID collision ${record.fields.id}`); - if (!prior) - ids.set(record.fields.id, record); - } - const unique = [...ids.values()]; - const cells = new Map(); - for (const record of unique.filter(r => r.record === 'cell')) { - if (cells.has(record.fields.scope)) - return fail(`cell definition is not unique at ${record.fields.scope}`); - cells.set(record.fields.scope, record); - } - const selected = new Map(); - for (const [scope, record] of cells) { - try { - const got = context.resolve(record); - if (got.digest !== record.fields.topos || got.form.id !== record.fields.form) - return fail(`selected digest/form does not match ${scope}`); - got.form.lattice(got.params); - selected.set(scope, got); - } - catch (error) { - return fail(`codec/pin/decoder stop at ${scope}: ${String(error)}`); - } - } - const edges = new Map(); - for (const [scope, record] of cells) { - const rest = restCoordinates(record.fields.restsOn); - if (rest === undefined) - return fail(`invalid declared rest at ${scope}`); - for (const parent of rest) { - const ancestor = cells.get(parent); - if (!ancestor) - return fail(`missing rest target ${parent}`); - if (Number(ancestor.fields.epoch) > Number(record.fields.epoch)) - return fail(`rest target ${parent} did not exist at cell declaration`); - if (['topos', 'form', 'params', 'measure'].some(k => ancestor.fields[k] !== record.fields[k])) - return fail(`incompatible rest component ${scope}/${parent}`); - } - edges.set(scope, rest); - } - // Structural DAG validation reads edges alone, never marks or object restOf. - const colour = new Map(); - for (const scope of cells.keys()) { - if (colour.get(scope) === 2) - continue; - const stack = [{ name: scope, exit: false }]; - while (stack.length) { - const next = stack.pop(); - if (next.exit) { - colour.set(next.name, 2); - continue; - } - if (colour.get(next.name) === 1) - return fail(`declared rest cycle reachable from ${scope}`); - if (colour.get(next.name) === 2) - continue; - colour.set(next.name, 1); - stack.push({ name: next.name, exit: true }); - for (const parent of [...edges.get(next.name)].reverse()) - stack.push({ name: parent, exit: false }); - } - } - for (const record of unique.filter(r => r.record !== 'cell')) { - const f = record.fields; - const own = cells.get(f.scope); - if (!own || Number(own.fields.epoch) > Number(f.epoch)) - return fail(`cell not declared before ${f.id}`); - if (f.sign === '-1') { - const target = ids.get(f.takes); - if (!target || target.record !== record.record || target.fields.scope !== f.scope || target.fields.sign !== '+1' || target.fields.by !== f.by || Number(target.fields.epoch) >= Number(f.epoch)) - return fail(`unauthorized or incompatible withdrawal target ${f.takes}`); - } - else { - const codec = selected.get(f.scope); - try { - codec.form.parse(codec.params, f.value); - } - catch (error) { - return fail(`span codec stop at ${f.id}: ${String(error)}`); - } - if (record.record === 'claim' && !context.origin(f.origin, f.by, f.scope)) - return fail(`origin is not attested for ${f.id}`); - if (f.widens !== undefined && !context.witness(f.widens, f.by, f.scope)) - return fail(`join witness is not admitted for ${f.id}`); - } - } - // Only potentially noncommuting ceiling marks participate in the order check. - for (const scope of cells.keys()) { - const rest = new Set(); - const pending = [...edges.get(scope)]; - while (pending.length) { - const name = pending.pop(); - if (rest.has(name)) - continue; - rest.add(name); - pending.push(...edges.get(name)); - } - const marks = unique.filter(r => r.record === 'mark' && r.fields.sign === '+1' && r.fields.pole === 'ceiling' && (r.fields.scope === scope || (rest.has(r.fields.scope) && r.fields.reach === 'travels'))); - const epochs = new Map(); - for (const m of marks) - epochs.set(m.fields.epoch, [...(epochs.get(m.fields.epoch) ?? []), m]); - for (const same of epochs.values()) - if (same.length > 1 && same.some(m => m.fields.widens !== undefined)) - return fail(`ambiguous same-epoch ceiling acts at ${scope}`); - } - return fact(unique); -} diff --git a/samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 b/samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 deleted file mode 100644 index f585797..0000000 --- a/samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=policy:sample form=alphabet kind=check measure=digest restsOn=sha256:0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87|sha256:074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49|sha256:0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7|sha256:0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828|sha256:0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0|sha256:103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c|sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684|sha256:1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4|sha256:2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b|sha256:35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3|sha256:39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c|sha256:3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1|sha256:3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091|sha256:3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff|sha256:41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7|sha256:41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71|sha256:4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f|sha256:4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9|sha256:575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2|sha256:5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62|sha256:5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea|sha256:5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c|sha256:5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e|sha256:5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128|sha256:5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e|sha256:5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e|sha256:5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab|sha256:6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059|sha256:679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998|sha256:6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95|sha256:6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3|sha256:7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86|sha256:759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a|sha256:76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e|sha256:79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771|sha256:7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1|sha256:7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903|sha256:81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c|sha256:820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880|sha256:8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d|sha256:8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c|sha256:918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8|sha256:95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c|sha256:ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4|sha256:b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d|sha256:b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6|sha256:bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3|sha256:bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670|sha256:c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4|sha256:c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78|sha256:c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d|sha256:c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf|sha256:d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94|sha256:dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6|sha256:dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6|sha256:deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a|sha256:e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2|sha256:e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421|sha256:e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a|sha256:ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2|sha256:ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca|sha256:f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c|sha256:f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994|sha256:f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5|sha256:fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd|sha256:fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d|sha256:fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08|sha256:ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 role=writes scope=offers/context value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 view=sample-context -bound-lock/1 at=policy:sample form=alphabet kind=form measure=digest restsOn=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 role=writes scope=offers/form value=sha256:17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684 -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/forms value=interval -bound-lock/1 at=policy:sample form=alphabet measure=id role=writes scope=wire/topos/context-view value=sample-context -bound-lock/1 at=policy:sample form=alphabet measure=reads role=writes scope=region/context value=offers/**|wire/** diff --git a/samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 b/samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 deleted file mode 100644 index 982be62..0000000 --- a/samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('stretch', params, 'lo'), hi: numberAt('stretch', params, 'hi') }); -export const stretchForm = { - id: 'stretch', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('stretch', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c b/samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c deleted file mode 100644 index c6830fe..0000000 --- a/samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c +++ /dev/null @@ -1,38 +0,0 @@ -import { isDistributive } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { isSupermodular, premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -import { state, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -import { statesPerDebit } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; -import { STATES } from "./79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771"; -export function declarationOf(c, place) { - return place.seen.reduce((held, s) => ({ demand: c.higher(held.demand, s.span.lo), limit: c.lower(held.limit, s.span.hi) }), { demand: c.bottomIx, limit: c.topIx }); -} -export function unitOf(c, place) { - const { demand, limit } = declarationOf(c, place); - return unit(place.at.join('/'), { floor: c.levels[demand] ?? c.bottom, ceiling: c.levels[limit] ?? c.top }); -} -export function stateOf(c, place) { - return state(c, unitOf(c, place)); -} -export function registerOf(c, place) { - return statesPerDebit(c, unitOf(c, place)); -} -export function premiumOf(c, value, place) { - const { demand, limit } = declarationOf(c, place); - return premium(c, value, demand, limit); -} -export function degenerate(c, value) { - return isSupermodular(c, value); -} -export function withdrawsExactly(c) { - return isDistributive(c); -} -export function movesOf(c, before, after) { - const moves = Object.fromEntries(STATES.map((a) => [a, Object.fromEntries(STATES.map((b) => [b, 0]))])); - const was = new Map(registerOf(c, before)); - for (const [debit, now] of registerOf(c, after)) { - const then = was.get(debit); - if (then) - moves[then][now] += 1; - } - return moves; -} diff --git a/samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 b/samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 deleted file mode 100644 index 9dbb6d3..0000000 --- a/samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1 +++ /dev/null @@ -1,4 +0,0 @@ -import { foldRegion } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -export function replay(landed, where, verdict) { - return foldRegion(landed, where, verdict); -} diff --git a/samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 b/samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 deleted file mode 100644 index 0c2ed61..0000000 --- a/samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: 0, hi: numberAt('rank', params, 'n') }); -export const rankForm = { - id: 'rank', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('rank', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff b/samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff deleted file mode 100644 index c3c7d5a..0000000 --- a/samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff +++ /dev/null @@ -1,80 +0,0 @@ -const SLACK = 1e-12; -export function c_n(n) { - return Math.log2(n) - 2 + 2 / n; -} -export function costOfState(c, value, u, w, s) { - return { - shortfall: value(u) - value(c.lower(u, s)), - overshoot: value(s) - value(c.lower(s, w)), - }; -} -const costAt = (c, value, u, w, s) => { - const { shortfall, overshoot } = costOfState(c, value, u, w, s); - return shortfall + overshoot; -}; -function cheapest(c, value, u, w, visit) { - let cost; - let at = c.bottomIx; - visit((s) => { - const cs = costAt(c, value, u, w, s); - if (cost === undefined || cs < cost) { - cost = cs; - at = s; - } - }); - return { cost: cost ?? costAt(c, value, u, w, at), at }; -} -function eachPair(c, u, w, fn) { - for (let p = 0; p < c.levels.length; p++) { - if (!c.leq(p, u)) - continue; - for (let q = 0; q < c.levels.length; q++) { - if (!c.leq(q, w)) - continue; - fn(p, q); - } - } -} -export const best = (c, value, u, w) => cheapest(c, value, u, w, (take) => { - for (let s = 0; s < c.levels.length; s++) - take(s); -}); -export function gap(c, value, u, w) { - const m = c.lower(u, w); - let mx = value(m); - eachPair(c, u, w, (p, q) => { - const v = value(p) + value(q) - value(c.higher(p, q)); - if (v > mx) - mx = v; - }); - return mx - value(m); -} -export function premium(c, value, u, w) { - return value(u) - value(c.lower(u, w)) - best(c, value, u, w).cost; -} -export function isSupermodular(c, value) { - for (let x = 0; x < c.levels.length; x++) { - for (let y = 0; y < c.levels.length; y++) { - const ri = value(x) + value(y) - value(c.higher(x, y)) - value(c.lower(x, y)); - if (ri > SLACK) - return false; - } - } - return true; -} -function gapVanishes(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + SLACK) - return false; - } - } - return isSupermodular(c, value); -} -export function pricesAnything(c, worth) { - return !gapVanishes(c, worth); -} -export function collapses(c, value, u, w, tol = 1e-9) { - const ri = value(u) + value(w) - value(c.higher(u, w)) - value(c.lower(u, w)); - return Math.abs(premium(c, value, u, w) - ri) <= tol; -} diff --git a/samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 b/samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 deleted file mode 100644 index 3a1863e..0000000 --- a/samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7 +++ /dev/null @@ -1,5 +0,0 @@ -import { region, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -/** Segment boundary, not string prefix — `acme/user` must not bind `acme/userdata`. */ -export function under(prefix, scope) { - return prefix !== '' && within(region(scope, './'), region(prefix, './')); -} diff --git a/samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 b/samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 deleted file mode 100644 index b063dc9..0000000 --- a/samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71 +++ /dev/null @@ -1,134 +0,0 @@ -import { eq } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -import { isDownset, isUpset, idealJoin, idealMeet } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export const POSET_LAW_NAMES = [ - 'transitivity', - 'antisymmetry', -]; -export const MEET_LAW_NAMES = [ - 'idempotence.meet', - 'unit.top', - 'top.greatest', - 'commutativity.meet', - 'consistency.meet', - 'associativity.meet', -]; -export const JOIN_LAW_NAMES = [ - 'idempotence.join', - 'unit.bottom', - 'bottom.least', - 'commutativity.join', - 'consistency.join', - 'associativity.join', -]; -export const BOTH_LAW_NAMES = [ - 'absorption.meet', - 'absorption.join', -]; -export const LATTICE_LAW_NAMES = [ - ...POSET_LAW_NAMES, - ...MEET_LAW_NAMES, - ...JOIN_LAW_NAMES, - ...BOTH_LAW_NAMES, -]; -const sayAt = (L, law, at) => `${law}: ${at.map((x) => L.show(x)).join(' , ')}`; -export function posetViolationsIn(L, xs) { - const out = []; - const same = (a, b) => eq(L, a, b); - for (const a of xs) { - for (const b of xs) { - if (L.leq(a, b) && L.leq(b, a) && !same(a, b)) { - out.push(sayAt(L, 'antisymmetry', [a, b])); - } - for (const d of xs) { - if (L.leq(a, b) && L.leq(b, d) && !L.leq(a, d)) { - out.push(sayAt(L, 'transitivity', [a, b, d])); - } - } - } - } - return out; -} -export function meetViolationsIn(L, xs) { - const out = [...posetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.meet(a, a), a)) - say('idempotence.meet', a); - if (!same(L.meet(a, L.top), a)) - say('unit.top', a); - if (!L.leq(a, L.top)) - say('top.greatest', a); - for (const b of xs) { - if (!same(L.meet(a, b), L.meet(b, a))) - say('commutativity.meet', a, b); - const le = L.leq(a, b); - if (le !== same(L.meet(a, b), a)) - say('consistency.meet', a, b); - for (const d of xs) { - if (!same(L.meet(L.meet(a, b), d), L.meet(a, L.meet(b, d)))) { - say('associativity.meet', a, b, d); - } - } - } - } - return out; -} -export function violationsIn(L, xs) { - const out = [...meetViolationsIn(L, xs)]; - const same = (a, b) => eq(L, a, b); - const say = (law, ...at) => { - out.push(sayAt(L, law, at)); - }; - for (const a of xs) { - if (!same(L.join(a, a), a)) - say('idempotence.join', a); - if (!same(L.join(a, L.bottom), a)) - say('unit.bottom', a); - if (!L.leq(L.bottom, a)) - say('bottom.least', a); - for (const b of xs) { - if (!same(L.join(a, b), L.join(b, a))) - say('commutativity.join', a, b); - if (!same(L.meet(a, L.join(a, b)), a)) - say('absorption.meet', a, b); - if (!same(L.join(a, L.meet(a, b)), a)) - say('absorption.join', a, b); - const le = L.leq(a, b); - if (le !== same(L.join(a, b), b)) - say('consistency.join', a, b); - for (const d of xs) { - if (!same(L.join(L.join(a, b), d), L.join(a, L.join(b, d)))) { - say('associativity.join', a, b, d); - } - } - } - } - return out; -} -export function closureViolationsIn(c, xs) { - const out = []; - const say = (law, at) => { - out.push(`${law}: ${at}`); - }; - const shown = (d) => `{${d.demand.join(',')}}/{${d.permit.join(',')}}`; - for (const a of xs) { - if (!isUpset(c, a.demand)) - say('closure.demand', shown(a)); - if (!isDownset(c, a.permit)) - say('closure.permit', shown(a)); - for (const b of xs) { - const m = idealMeet(a, b); - const j = idealJoin(a, b); - if (!isUpset(c, m.demand) || !isDownset(c, m.permit)) { - say('closure.meet', `${shown(a)} , ${shown(b)}`); - } - if (!isUpset(c, j.demand) || !isDownset(c, j.permit)) { - say('closure.join', `${shown(a)} , ${shown(b)}`); - } - } - } - return out; -} diff --git a/samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f b/samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f deleted file mode 100644 index 17fe3ad..0000000 --- a/samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f +++ /dev/null @@ -1,11 +0,0 @@ -import { ladderForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const over = (params) => ({ levels: wordsAt('ladder', params, 'levels') }); -export const ladderOfForm = { - id: 'ladder', - lattice: (params) => ladderForm.lattice(over(params)), - parse: (params, text) => levelsOf('ladder', over(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => ladderForm.lattice(over(params)).show(value), - points: (params, seed, n) => ladderForm.points(over(params), seed, n), -}; diff --git a/samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 b/samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 deleted file mode 100644 index a5581a6..0000000 --- a/samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9 +++ /dev/null @@ -1,19 +0,0 @@ -export function foldIn(L, demands) { - let acc = L.top; - for (const d of demands) - acc = L.meet(acc, d); - return acc; -} -export function witnessesIn(L, demands) { - const whole = foldIn(L, demands); - if (L.inhabited(whole)) - return null; - for (let i = 0; i < demands.length; i++) { - for (let j = i + 1; j < demands.length; j++) { - if (!L.inhabited(L.meet(demands[i], demands[j]))) { - return [demands[i], demands[j]]; - } - } - } - return null; -} diff --git a/samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 b/samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 deleted file mode 100644 index a8eb996..0000000 --- a/samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2 +++ /dev/null @@ -1,12 +0,0 @@ -import { fuse } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function touches(c, mine, folded) { - return c.rank(mine.floor) === c.rank(folded.floor) || c.rank(mine.ceiling) === c.rank(folded.ceiling); -} -export function holds(c, units, index) { - if (index < 0 || index >= units.length) - return false; - const whole = fuse(c, units); - const rest = units.filter((_, i) => i !== index); - const next = fuse(c, rest); - return next.floor !== whole.floor || next.ceiling !== whole.ceiling; -} diff --git a/samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 b/samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 deleted file mode 100644 index 3074bbe..0000000 --- a/samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62 +++ /dev/null @@ -1,80 +0,0 @@ -export function unpipe(value) { - const out = []; - let at = ''; - for (let i = 0; i < value.length; i++) { - const c = value[i]; - if (c === '\\') { - const next = value[i + 1]; - if (next !== '|' && next !== '\\') - return null; - at += next; - i += 1; - } - else if (c === '|') { - out.push(at); - at = ''; - } - else { - at += c; - } - } - out.push(at); - return out; -} -const OPEN = '*'; -const num = (s) => { - if (!/^-?\d+(\.\d+)?$/.test(s)) - return null; - const n = Number(s); - return isFinite(n) ? n : null; -}; -/** - * A number as the wire writes it, the only spelling it reads: decimal digits, a minus when negative and a fraction - * when it has one, never an exponent, a hex prefix, a leading dot or padding. The digits are the shortest that read - * back to the number, so a second head in any language writes the same bytes; a number that is not finite has none. - */ -export function decimal(n) { - if (!isFinite(n)) - throw new Error(`REFUSE·wire decimal: \`${n}\` is not a finite number`); - const got = /^(-?)(\d)(?:\.(\d+))?e([+-])(\d+)$/.exec(String(n)); - if (got === null) - return String(n); - const [, sign = '', lead = '', rest = '', ahead = '', exp = '0'] = got; - return ahead === '+' ? `${sign}${lead}${rest}${'0'.repeat(Number(exp) - rest.length)}` : `${sign}0.${'0'.repeat(Number(exp) - 1)}${lead}${rest}`; -} -/** - * The forms this reader parses, each with the grammar that reads its value. The alphabet of forms is what these - * implement — never a list kept beside them, which the lock could move and the list could not. - */ -const GRAMMARS = { - interval: (value) => { - const at = value.indexOf('..'); - if (at < 0) - return null; - const lo = value.slice(0, at); - const hi = value.slice(at + 2); - const l = lo === OPEN ? null : num(lo); - const h = hi === OPEN ? null : num(hi); - if ((lo !== OPEN && l === null) || (hi !== OPEN && h === null)) - return null; - return { kind: 'interval', lo: l, hi: h }; - }, - alphabet: (value) => { - const values = unpipe(value); - return values === null ? null : { kind: 'enumerated', values }; - }, - ladder: (value) => { - const parts = unpipe(value); - if (parts === null || parts.length !== 2) - return null; - return { kind: 'band', floor: parts[0] ?? '', ceiling: parts[1] ?? '' }; - }, -}; -export function boundOf(form, value, grammars) { - const extra = Array.isArray(grammars) ? grammars.find((g) => g.form === form) : undefined; - if (extra) - return extra.parse(value); - return GRAMMARS[form]?.(value) ?? null; -} -export const BOUND_FORMS = Object.keys(GRAMMARS); -export const REF_RELATIONS = ['within', 'copies', 'derives']; diff --git a/samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea b/samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea deleted file mode 100644 index a5f7fb5..0000000 --- a/samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea +++ /dev/null @@ -1,54 +0,0 @@ -export function buildGraph(edges) { - const index = new Map(); - const names = []; - const intern = (s) => { - const hit = index.get(s); - if (hit !== undefined) - return hit; - const i = names.length; - names.push(s); - index.set(s, i); - return i; - }; - const pairs = []; - for (const [a, b] of edges) - pairs.push([intern(a), intern(b)]); - const size = names.length; - const counts = new Int32Array(size); - for (const [a] of pairs) - counts[a]++; - const heads = new Int32Array(size + 1); - for (let i = 0; i < size; i++) - heads[i + 1] = heads[i] + counts[i]; - const tails = new Int32Array(pairs.length); - const cursor = heads.slice(); - for (const [a, b] of pairs) - tails[cursor[a]++] = b; - return { - size, - id: (name) => index.get(name) ?? -1, - name: (id) => names[id] ?? '', - heads, - tails, - }; -} -export function reachIds(g, from, scratch) { - const seen = scratch ?? new Uint8Array(g.size); - if (scratch) - seen.fill(0); - if (from < 0 || from >= g.size) - return seen; - const queue = [from]; - seen[from] = 1; - while (queue.length > 0) { - const v = queue.pop(); - for (let i = g.heads[v]; i < g.heads[v + 1]; i++) { - const n = g.tails[i]; - if (!seen[n]) { - seen[n] = 1; - queue.push(n); - } - } - } - return seen; -} diff --git a/samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c b/samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c deleted file mode 100644 index 9883b61..0000000 --- a/samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c +++ /dev/null @@ -1,50 +0,0 @@ -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Policy selection is part of the wire. Historical unbounded profiles are not a bounded-reading certificate. */ -export function readerLifetime(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-lifetime' || f.scope === 'audit/wire/reader-lifetime') && f.value !== 'withdraw'); - if (!contract.length) - return undefined; - if (contract.some(f => f.value !== 'bounded-process@1')) - throw Error('REFUSE·wire unsupported reader lifetime'); - const limit = (name, measure) => { - const scopes = [`reader/${name}`, `reader/${reader}/${name}`]; - const rows = lines.filter(f => scopes.includes(f.scope ?? '') && f.measure === measure && f.value !== 'withdraw' && f.role === 'writes'); - if (!rows.length) - throw Error(`REFUSE·reader ${reader} no declared ${name}`); - const values = rows.map(f => { - const bound = f.form === 'interval' ? boundOf('interval', f.value ?? '') : undefined; - if (!bound || bound.kind !== 'interval' || bound.hi === null || !Number.isSafeInteger(bound.hi) || bound.hi <= 0 || bound.lo === null || bound.lo < 0 || bound.lo > bound.hi) - throw Error(`REFUSE·reader ${reader} invalid ${f.scope}`); - return bound.hi; - }); - return Math.min(...values); - }; - return { timeoutMs: limit('timeout', 'milliseconds'), responseBytes: limit('response-bytes', 'bytes') }; -} -/** Completed empty output requires an explicit permission; absence of input is a separate unanswered demand. */ -export function readerAllowsEmpty(lines, reader) { - const contract = lines.filter(f => (f.scope === 'wire/reader-empty' || f.scope === 'audit/wire/reader-empty') && f.value !== 'withdraw'); - if (!contract.length) - return false; - if (contract.some(f => f.value !== 'declared-empty@1')) - throw Error('REFUSE·wire unsupported empty-reading contract'); - const rows = lines.filter(f => ['reader/empty', `reader/${reader}/empty`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length) - return false; - if (rows.some(f => f.form !== 'alphabet' || !['allow', 'required'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} invalid empty policy`); - return rows.every(f => f.value === 'allow'); -} -/** The host supplies selection cardinality; the wire decides whether absence leaves a demand. */ -export function assertReaderInputs(lines, reader, count) { - const contract = lines.filter(f => (f.scope === 'wire/reader-inputs' || f.scope === 'audit/wire/reader-inputs') && f.value !== 'withdraw'); - if (!contract.length) - return; - if (contract.some(f => f.value !== 'declared-presence@1')) - throw Error('REFUSE·wire unsupported reader input presence'); - const rows = lines.filter(f => ['reader/inputs', `reader/${reader}/inputs`].includes(f.scope ?? '') && f.measure === 'id' && f.role === 'writes' && f.value !== 'withdraw'); - if (!rows.length || rows.some(f => f.form !== 'alphabet' || !['required', 'optional'].includes(f.value ?? ''))) - throw Error(`REFUSE·reader ${reader} no valid input presence policy`); - if (count === 0 && rows.some(f => f.value === 'required')) - throw Error(`REFUSE·reader ${reader} required input selection is empty`); -} diff --git a/samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e b/samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e deleted file mode 100644 index 0ea6317..0000000 --- a/samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e +++ /dev/null @@ -1,19 +0,0 @@ -import { alphabetForm, WideMask } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const tokensOf = (params) => ({ tokens: wordsAt('alphabet', params, 'tokens') }); -export const alphabetOfForm = { - id: 'alphabet', - lattice: (params) => alphabetForm.lattice(tokensOf(params)), - parse(params, text) { - const { tokens } = tokensOf(params); - const read = alphabet(text); - const stray = read.members.find((one) => !tokens.includes(one)); - if (stray !== undefined) - refuseForm('alphabet', `\`${stray}\` is not one of its tokens`); - return WideMask.fromTokens(tokens, new Set(read.polarity === 'forbid' ? tokens.filter((one) => !read.members.includes(one)) : read.members)); - }, - emit: (params, value) => written(value.members(tokensOf(params).tokens)), - show: (params, value) => alphabetForm.lattice(tokensOf(params)).show(value), - points: (params, seed, n) => alphabetForm.points(tokensOf(params), seed, n), -}; diff --git a/samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 b/samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 deleted file mode 100644 index b67bd6d..0000000 --- a/samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128 +++ /dev/null @@ -1,12 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Lexical kind is explicit; it grants no admission and supplies no legacy defaults. */ -export function recordKind(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - if (!got.value.keys.includes('type')) - return fact('config'); - const type = got.value.fields.type; - return type === 'cell' || type === 'claim' || type === 'mark' ? fact(type) : refuse('an explicit type names cell, claim or mark', 'type'); -} diff --git a/samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e b/samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e deleted file mode 100644 index 92c4573..0000000 --- a/samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e +++ /dev/null @@ -1,21 +0,0 @@ -/** It answers the line, the forms' encodings, the names — how is a fact written? */ -export { PROTOCOL } from "./6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3"; -export { byBytes, canonical, parse, parseForSigning, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { alphabet, atResolution, fields, requirement, steps } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -export { fromLine, signersOf, authorityOf, windowAt, roleClaimsOf, roleAt, namesAt, isKeyClaim, isWireClaim, wireAt, ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -export { matches } from "./759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a"; -export { CAPSULE, EXTENSION, LOCK, RECEIPTS } from "./e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a"; -export { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export { combine } from "./074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49"; -export { weakest } from "./ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2"; -export { formatSignature, parseSignature, signedFieldsOf } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -export { validateObjectContext } from "./2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b"; -export { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -export { objectHistory } from "./ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4"; -export { restCoordinates } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -export const OBJECT_VIEW = 'object'; -export { publicationOf, publicLock } from "./ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261"; -export { requestBytes as signerRequestBytes, responseBytes as signerResponseBytes, responseOf as signerResponseOf, signerSelection } from "./bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3"; -export { readerLifetime } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { readerAllowsEmpty, assertReaderInputs } from "./5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c"; -export { transportSelection, contentRequest } from "./1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4"; diff --git a/samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e b/samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e deleted file mode 100644 index 1b70fd0..0000000 --- a/samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e +++ /dev/null @@ -1,420 +0,0 @@ -/** - * The wire reads itself: a claim is read by the lock of the wire that stood when it was signed. Its fields, their - * alphabets and forms, and the algorithms its digests and signatures name, are lines of that lock with an epoch — - * never a grammar compiled here and never a file this reads. What stays compiled is the line and the forms of the - * algebra; every name the wire admits arrives as a claim. The fields that say who signed and when, its envelope, never - * make two claims different claims. - */ -import { intervals } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { objectFromFields } from "./918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8"; -import { parse as parseLine } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { unpipe, boundOf, REF_RELATIONS, BOUND_FORMS } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -import { outranks, passes, region, resolution, within } from './820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880'; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { under } from "./41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7"; -export const ENVELOPE = new Set(['sig', 'expires', 'repo', 'by', 'epoch']); -const WITHDRAW = 'withdraw'; -const WIRE = 'wire/'; -const WAS = 'audit/wire/'; -export function isWireClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope.startsWith(WIRE) || scope.startsWith(WAS); -} -function listOf(scope) { - if (scope.startsWith(WAS)) - return scope.slice(WAS.length); - if (scope.startsWith(WIRE)) - return scope.slice(WIRE.length); - return undefined; -} -function epochOf(fields) { - const value = fields['epoch'] ?? ''; - return /^\d+$/.test(value) ? Number(value) : 0; -} -function names(withdraw, line) { - return Object.keys(withdraw).filter((k) => k !== 'value' && !ENVELOPE.has(k)).every((k) => line[k] === withdraw[k]); -} -export function wireAt(lines, epoch) { - const mine = lines.filter((f) => listOf(f['scope'] ?? '') !== undefined && epochOf(f) <= epoch); - const withdrawals = mine.filter((f) => f['value'] === WITHDRAW); - // A writer can revise its own alphabet at a newer epoch. Independent live - // declarations must agree; a tie is disagreement, never an empty alphabet. - const candidates = new Map(); - for (const f of mine) { - if (f['value'] === WITHDRAW || withdrawals.some(w => names(w, f))) - continue; - const key = (listOf(f['scope'] ?? '') ?? '') + '\0' + (f['by'] ?? ''); - const held = candidates.get(key) ?? []; - const newest = held.length ? epochOf(held[0]) : -1; - if (epochOf(f) > newest) - candidates.set(key, [f]); - else if (epochOf(f) === newest) - candidates.set(key, [...held, f]); - } - const live = [...candidates.values()].flatMap(rows => rows.some(f => (f['scope'] ?? '').startsWith(WIRE)) ? rows.filter(f => (f['scope'] ?? '').startsWith(WIRE)) : rows); - const values = new Map(); - for (const f of live) { - const key = listOf(f['scope'] ?? '') ?? '', prior = values.get(key); - if (prior !== undefined && prior !== f['value']) - throw Error(`REFUSE·wire wire/${key} has conflicting live declarations`); - values.set(key, f['value'] ?? ''); - } - const standing = new Map(); - for (const f of mine) { - const key = listOf(f['scope'] ?? '') ?? ''; - if (f['value'] === WITHDRAW || withdrawals.some((w) => names(w, f))) - continue; - const held = standing.get(key); - const newer = held === undefined || epochOf(f) > epochOf(held) - || (epochOf(f) === epochOf(held) && (f['scope'] ?? '').startsWith(WIRE) && (held['scope'] ?? '').startsWith(WAS)); - if (newer) - standing.set(key, f); - } - if (!standing.size) - return null; - const ids = (name) => new Set((standing.get(name)?.['value'] ?? '').split('|').filter(Boolean)); - const formOf = new Map([...standing] - .filter(([name]) => name.startsWith('form/')) - .map(([name, f]) => [name.slice('form/'.length), f['value'] ?? ''])); - const lists = new Map([...standing.keys()] - .filter((name) => !name.includes('/')) - .map((name) => [name, ids(name)])); - return { - epoch, - ...(standing.has('object/types') ? { object: { - activation: epochOf(standing.get('object/types')), - types: ids('object/types'), common: ids('object/common'), reserved: ids('object/reserved'), configuration: ids('object/allowed/config'), - required: new Map([...standing.keys()].filter(k => k.startsWith('object/required/')).map(k => [k.slice('object/required/'.length), ids(k)])), - allowed: new Map([...standing.keys()].filter(k => k.startsWith('object/allowed/')).map(k => [k.slice('object/allowed/'.length), ids(k)])), - } } : {}), - fields: ids('fields'), - required: ids('required'), - roles: ids('roles'), - forms: ids('forms'), - classes: ids('at-classes'), - digests: new Set([...ids('digest-algorithms')].map((one) => one.split(':')[0])), - signatures: ids('signature-algorithms'), - formOf, - lists, - }; -} -function admittedDigest(value, wire) { - const colon = value.indexOf(':'); - return colon > 0 && wire.digests.has(value.slice(0, colon)) && /^[0-9a-f]+$/i.test(value.slice(colon + 1)); -} -function isRegion(need) { - if (need.startsWith('/') || /[\s\\]/.test(need)) - return false; - const steps = need.split('/').filter((step) => step !== ''); - return steps.length > 0 && steps.every((step, i) => step !== '.' && step !== '..' && (!step.includes('*') || i === steps.length - 1)); -} -const FIELD_FORMS = { - region: (value) => value.split('|').filter(Boolean).every(isRegion), - class: (value, wire) => { - const colon = value.indexOf(':'); - if (colon <= 0 || !wire.classes.has(value.slice(0, colon))) - return false; - const rest = value.slice(colon + 1); - return !/^[a-z0-9-]+:[0-9a-f]{16,}$/i.test(rest) || admittedDigest(rest, wire); - }, - signature: (value, wire) => { - const got = parseSignature(value); - if (got === null || !wire.signatures.has(got.algorithm)) - return false; - const era = got.algorithm.slice(got.algorithm.lastIndexOf(':') + 1); - return admittedDigest(got.algorithm, wire) || (got.algorithm.includes(':') && (wire.lists.get('era')?.has(era) ?? false)); - }, - count: (value) => /^\d+$/.test(value), -}; -function debit(field, why) { - return refuse(why, field); -} -export function fromLine(text, wire, grammars) { - const line = parseLine(text, { preserveKeys: true }); - if (line.kind !== 'fact') { - return line.kind === 'abstain' ? abstain(line.why) : refuse(line.why, line.named); - } - const f = line.value.fields; - const keys = line.value.keys; - if (keys.includes('type')) { - if (!wire?.object) - return refuse('typed object grammar is not admitted at this epoch', 'type'); - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const got = objectFromFields(f, keys, wire.object, wire.fields, wire.forms); - if (got.kind !== 'fact') - return got; - if (!FIELD_FORMS.signature(f.sig, wire)) - return refuse('object signature grammar is not admitted', 'sig'); - if (got.value.record === 'cell' && !admittedDigest(f.topos, wire)) - return refuse('cell topos is not an admitted digest', 'topos'); - if (got.value.record === 'cell' && (f.restsOn ?? '').split('|').some(name => admittedDigest(name, wire))) - return refuse('cell restsOn names coordinates, not byte digests', 'restsOn'); - return got; - } - if (wire) { - if (wire.object) { - if (!wire.object.configuration.size || !wire.object.reserved.size || [...wire.object.reserved].some(k => wire.object.configuration.has(k))) - return refuse('typed wire has no closed configuration/object field contract', 'type'); - const reserved = keys.find(k => wire.object.reserved.has(k) || !wire.object.configuration.has(k)); - if (reserved) - return refuse(`\`${reserved}=\` is an object-only field: untyped configuration cannot carry it`, reserved); - } - for (const k of Object.keys(f)) - if (!wire.fields.has(k)) - return debit(k, `\`${k}=\` is not a field of the wire at epoch ${wire.epoch}`); - for (const k of wire.required) - if (f[k] === undefined) - return debit(k, `a claim with no \`${k}\``); - for (const [k, form] of wire.formOf) { - const v = f[k]; - if (v === undefined) - continue; - const ids = wire.lists.get(form); - const reads = FIELD_FORMS[form] ?? (ids ? (value) => ids.has(value) : undefined); - if (!reads) - return abstain(`\`${k}\` takes the form ${form}, which this reader does not know`); - if (!reads(v, wire)) - return debit(k, `\`${k}=${v}\` is not a ${form} of the wire at epoch ${wire.epoch}`); - } - if (f.role !== undefined && !wire.roles.has(f.role)) - return abstain(`\`role=${f.role}\` is a role this wire does not name`); - if (!wire.forms.has(f.form ?? '')) - return abstain(`\`form=${f.form}\` is a form this wire does not name`); - } - const listed = Array.isArray(grammars) ? grammars : undefined; - const bound = f.value === WITHDRAW ? { kind: 'enumerated', values: [WITHDRAW] } : boundOf(f.form ?? '', f.value ?? '', listed); - if (bound === null) { - const mine = BOUND_FORMS.includes(f.form ?? '') || (listed?.some((g) => g.form === f.form) ?? false); - return mine - ? debit('value', `\`${f.value}\` is not a ${f.form}`) - : abstain(`\`form=${f.form}\` is a form this reader does not know`); - } - const role = f.role === 'writes' ? 'writes' : f.role === 'demands' ? 'demands' : 'reads'; - const extra = {}; - for (const [k, v] of Object.entries(f)) { - if (['scope', 'measure', 'form', 'value', 'by', 'at', 'role', 'unit', 'multiplicity', 'epoch', 'ref', 'to', 'ref_by'].includes(k)) - continue; - extra[k] = v; - } - const rel = f.ref; - const to = f.to === undefined ? null : unpipe(f.to); - const reference = rel && to && REF_RELATIONS.includes(rel) - ? { rel, to, by: f.ref_by === 'declared' ? 'declared' : 'inferred' } - : null; - return fact({ - scope: f.scope ?? '', - measure: f.measure ?? '', - bound, - role, - by: f.by ?? '', - at: f.at ?? '', - ...(f.unit !== undefined ? { unit: f.unit } : {}), - ...(f.multiplicity === 'one' || f.multiplicity === 'many' || f.multiplicity === 'unknown' - ? { multiplicity: f.multiplicity } - : {}), - ...(f.epoch !== undefined ? { epoch: f.epoch } : {}), - ...(reference ? { reference } : {}), - extra, - }); -} -const KEYS = 'keys'; -export function isKeyClaim(fields) { - const scope = fields['scope'] ?? ''; - return scope === KEYS || scope.startsWith(`${KEYS}/`); -} -function depthWindow(value) { - const m = /^(\d+)\.\.(\d+)$/.exec(value); - return m ? { lo: Number(m[1]), hi: Number(m[2]) } : null; -} -const EPOCHS = intervals(-Infinity, Infinity); -const QUORUMS = intervals(1, Infinity); -function windowOf(signer) { - return signer.epoch ?? { start: 0, close: null }; -} -export function windowAt(signer, epoch) { - const now = windowOf(signer); - const standing = (signer.windows ?? []).filter((w) => epoch >= w.from && (w.to === null || epoch < w.to)); - return standing.length ? { start: now.start, close: standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi } : now; -} -function inside(signer, epoch) { - const w = windowAt(signer, epoch); - return epoch >= w.start && (w.close === null || epoch <= w.close); -} -function standsUntil(said) { - const claim = (f) => [f['role'], f['form'], f['at']].join(' '); - const withdrawn = new Map(); - for (const f of said) - if (f['value'] === 'withdraw') - withdrawn.set(claim(f), EPOCHS.meet(withdrawn.get(claim(f)) ?? EPOCHS.top, { lo: -Infinity, hi: epochOf(f) })); - return (f) => withdrawn.get(claim(f))?.hi ?? null; -} -/** - * What a key covers, and when it may sign, line by line: each coverage or epoch line stands from the epoch it was signed - * at until a withdraw of the same claim, named by its at, lands; what it allowed before stays allowed for what was signed - * then, and nothing signed after is allowed by it. Windows standing together close at the nearer, so only a withdraw - * widens, and never for a line signed before it. A withdrawn line is never counted again. - */ -function coverageOver(said) { - const until = standsUntil(said); - const spans = said.filter((f) => f['value'] !== 'withdraw').map((f) => ({ globs: (f['value'] ?? '').split('|').filter(Boolean), from: epochOf(f), to: until(f) })) - .filter((span) => span.to === null || span.from < span.to); - return { coverage: [...new Set(spans.filter((span) => span.to === null).flatMap((span) => span.globs))], spans }; -} -function windowsOver(said) { - const until = standsUntil(said); - return said.filter((f) => f['value'] !== 'withdraw').flatMap((f) => ((w) => (w === null ? [] : [{ ...w, from: epochOf(f), to: until(f) }]))(depthWindow(f['value'] ?? ''))) - .filter((w) => w.to === null || w.from < w.to); -} -export function signersOf(lines, root, verify) { - const quorumLines = lines - .filter((f) => f['scope'] === KEYS && f['measure'] === 'quorum' && f['by'] === root.id && verify(f, root.publicKey)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const quorumAt = (epoch) => { - const standing = quorumLines.filter((f) => epochOf(f) <= epoch).pop(); - return QUORUMS.meet(QUORUMS.top, depthWindow(standing?.['value'] ?? '') ?? QUORUMS.top).lo; - }; - const ids = [...new Set(lines - // Only authority declarations introduce candidates; host transport metadata does not. - .filter(f => ['class', 'public-key', 'coverage', 'epoch'].includes(f['measure'] ?? '')) - .map((f) => f['scope'] ?? '') - .filter((scope) => scope.startsWith(`${KEYS}/`)) - .map((scope) => scope.slice(KEYS.length + 1)))]; - const closedAt = (signer, closes) => { - const close = closes.get(signer.id); - return close === undefined ? signer : { ...signer, epoch: { start: windowOf(signer).start, close } }; - }; - const claimsOn = (admitted, id, measure) => lines.filter((f) => { - const admitter = admitted.get(f['by'] ?? ''); - return f['scope'] === `${KEYS}/${id}` && f['measure'] === measure && admitter !== undefined - && admitter.keyClass === 'authorize' && inside(admitter, epochOf(f)) && verify(f, admitter.publicKey); - }); - const admitUnder = (closes) => { - const admitted = new Map([[root.id, closedAt(root, closes)]]); - for (let grew = true; grew;) { - grew = false; - for (const id of ids) { - if (admitted.has(id)) - continue; - const classLines = claimsOn(admitted, id, 'class'); - const withdrawn = new Set(classLines.filter((f) => f['value'] === 'withdraw').map((f) => `${f['by'] ?? ''} ${f['at'] ?? ''}`)); - const counted = classLines - .filter((f) => f['value'] !== 'withdraw' && !withdrawn.has(`${f['by'] ?? ''} ${f['at'] ?? ''}`)) - .sort((a, b) => epochOf(a) - epochOf(b)); - const history = classLines.filter((f) => f['value'] !== 'withdraw').sort((a, b) => epochOf(a) - epochOf(b)); - const admitters = []; - let start = null; - for (const f of history) { - const by = f['by'] ?? ''; - if (!admitters.includes(by)) - admitters.push(by); - if (admitters.length >= quorumAt(epochOf(f))) { - start = epochOf(f); - break; - } - } - const publicKey = claimsOn(admitted, id, 'public-key')[0]?.['value'] ?? ''; - if (start === null || !counted.length || !publicKey) - continue; - const born = lines.some((f) => (f['by'] ?? '') === id && epochOf(f) === 1 && !(f['scope'] ?? '').startsWith(`${KEYS}/`)); - const covered = coverageOver(claimsOn(admitted, id, 'coverage')); - admitted.set(id, closedAt({ - id, - keyClass: counted.every((f) => f['value'] === 'authorize') ? 'authorize' : 'attest', - publicKey, - coverage: covered.coverage, - spans: born ? covered.spans.map((span) => ({ ...span, from: Math.min(span.from, 1) })) : covered.spans, - windows: windowsOver(claimsOn(admitted, id, 'epoch')), - depth: depthWindow(claimsOn(admitted, id, 'resolution')[0]?.['value'] ?? '') ?? { lo: 1, hi: 1 }, - admittedBy: admitters, - epoch: { start: born ? Math.min(start, 1) : start, close: null }, - }, closes)); - grew = true; - } - } - return admitted; - }; - let closes = new Map(); - for (let round = 0; round <= ids.length + 1; round++) { - const admitted = admitUnder(closes); - const next = new Map(); - for (const id of admitted.keys()) { - const standing = windowsOver(claimsOn(admitted, id, 'epoch')).filter((w) => w.to === null); - if (standing.length) - next.set(id, standing.reduce((held, w) => EPOCHS.meet(held, w), EPOCHS.top).hi); - } - const moved = next.size !== closes.size || [...next].some(([id, close]) => closes.get(id) !== close); - if (!moved) - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; - closes = next; - } - const admitted = admitUnder(closes); - return { admitted: [...admitted.values()], potential: ids.filter((id) => !admitted.has(id)) }; -} -/** - * Who stands behind a line. In a lock read as a release, a target line carries no signature: the pin that names the - * release's digest is its signature, so it stands only where one does, and a line signed by a key the release does not - * carry is refused. - */ -export function authorityOf(fields, signers, verify, published) { - const by = fields['by'] ?? ''; - if (published !== undefined && !fields['sig'] && by === 'target') { - return published.pins.includes(published.digest) ? { kind: 'admitted', signer: by } : { kind: 'grey', why: `unpinned: no sources/ or uses/ line names ${published.digest}` }; - } - if (published !== undefined && fields['sig'] && !signers.some((s) => s.id === by)) { - return { kind: 'refuse', why: `REFUSE·authority ${by || '∅'} is no key this release carries`, named: by }; - } - if (!fields['sig']) - return { kind: 'grey', why: 'unsigned' }; - const signer = signers.find((s) => s.id === by); - if (!signer) - return { kind: 'grey', why: `signer ${by || '∅'} is not admitted` }; - if (!verify(fields, signer.publicKey)) - return { kind: 'grey', why: `the signature does not hold for ${by}` }; - const epoch = epochOf(fields); - const window = windowAt(signer, epoch); - if (window.close !== null && epoch > window.close) { - return { kind: 'refuse', why: `REFUSE·authority ${by} signed at epoch ${epoch}, after its epoch closed at ${window.close}`, named: by }; - } - if (epoch < window.start) - return { kind: 'grey', why: `signed at epoch ${epoch}, before ${by} was admitted at ${window.start}` }; - const scope = fields['scope'] ?? ''; - const covering = signer.spans === undefined ? signer.coverage : signer.spans.filter((span) => epoch >= span.from && (span.to === null || epoch < span.to)).flatMap((span) => span.globs); - if (!covering.some((prefix) => prefix === '*' || under(prefix, scope))) { - return { kind: 'refuse', why: `REFUSE·authority ${by} does not cover ${scope}`, named: by }; - } - const depth = resolution(region(scope)); - if (depth < signer.depth.lo || depth > signer.depth.hi) { - return { kind: 'refuse', why: `REFUSE·authority ${by} may not sign at depth ${depth}`, named: by }; - } - if (within(region(scope), region(KEYS)) && signer.keyClass !== 'authorize') { - return { kind: 'refuse', why: `REFUSE·authority ${by} is attest and cannot admit signers`, named: by }; - } - return { kind: 'admitted', signer: by }; -} -const COORDINATE_ROLES = ['source', 'derived', 'observed', 'foreign']; -const ROLE_PREFIXES = ['coordinate-role/', 'leaf-role/']; -const OUTRANKS = ['foreign', 'derived', 'observed']; -/** What a region's role makes of the paths it names: a source is written by hand, a render and a receipt by the fold. */ -const REGIONED = new Map([['source', 'source'], ['render', 'derived'], ['receipt', 'derived']]); -export function roleClaimsOf(lines) { - return lines.flatMap((f) => { - const scope = f['scope'] ?? ''; - const role = f['value'] ?? ''; - const regioned = REGIONED.get(f['role'] ?? ''); - if (scope.startsWith('region/') && f['measure'] === 'paths' && regioned !== undefined && role !== 'withdraw') - return role.split('|').filter(Boolean).map((name) => ({ name, role: regioned })); - const prefix = ROLE_PREFIXES.find((one) => scope.startsWith(one)); - if (prefix === undefined || f['measure'] !== 'role' || !COORDINATE_ROLES.includes(role)) - return []; - return [{ name: scope.slice(prefix.length), role: role }]; - }); -} -export function namesAt(at, name) { - return passes(region(at), name); -} -export function roleAt(at, claims) { - const place = { at: region(at).at, epoch: 0, seen: [] }; - return outranks([place], claims.map((c) => [c.name, c.role]), OUTRANKS) ?? 'source'; -} diff --git a/samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab b/samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab deleted file mode 100644 index e82665b..0000000 --- a/samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab +++ /dev/null @@ -1,16 +0,0 @@ -import { origins } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -import { resolution } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { premium } from "./3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff"; -export function frontier(c, value, asked) { - return asked.filter((one) => origins(one.at) === 0).map((one) => { - const cheapest = [...one.closers].sort((a, b) => (a.cost === b.cost ? (a.by < b.by ? -1 : 1) : a.cost - b.cost))[0]; - return { - at: one.at.at.join('/'), - resolution: resolution(one.at), - premium: premium(c, value, c.rank(one.bound.floor), c.rank(one.bound.ceiling)), - dependents: one.dependents.length, - closer: cheapest?.by ?? null, - cost: cheapest?.cost ?? null, - }; - }); -} diff --git a/samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 b/samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 deleted file mode 100644 index e3923f4..0000000 --- a/samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059 +++ /dev/null @@ -1,149 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -function build(levels, join, meet) { - const n = levels.length; - for (let i = 0; i < n; i++) { - if (levels.indexOf(levels[i]) !== i) { - throw new UnitError('DUPLICATE_LEVEL', `the level \`${levels[i]}\` is declared twice`, { - level: levels[i], - }); - } - } - const index = new Map(levels.map((l, i) => [l, i])); - const leq = (a, b) => join[a][b] === b; - const total = levels.every((_, i) => levels.every((__, j) => join[i][j] === i || join[i][j] === j)); - let simple = true; - for (let x = 0; x < n && simple; x++) { - for (let y = 0; y < n && simple; y++) { - for (let z = 0; z < n; z++) { - if (meet[x][join[y][z]] !== join[meet[x][y]][meet[x][z]]) { - simple = false; - break; - } - } - } - } - const all = [...levels.keys()]; - const bottomIx = all.find((i) => all.every((j) => leq(i, j))) ?? 0; - const topIx = all.find((i) => all.every((j) => leq(j, i))) ?? n - 1; - const joinIrr = all.filter((j) => j !== bottomIx && - all.filter((x) => x !== j && leq(x, j)).reduce((acc, x) => join[acc][x], bottomIx) !== j); - const meetIrr = all.filter((m) => m !== topIx && - all.filter((x) => x !== m && leq(m, x)).reduce((acc, x) => meet[acc][x], topIx) !== m); - const seen = new Set(); - const allDebits = []; - for (const x of [...joinIrr, ...meetIrr]) { - if (!seen.has(x)) { - seen.add(x); - allDebits.push(x); - } - } - return { - levels, - isLadder: total, - isSimple: simple, - bottomIx, - topIx, - bottom: levels[bottomIx], - top: levels[topIx], - leq, - higher: (a, b) => join[a][b], - lower: (a, b) => meet[a][b], - rank(level) { - const r = index.get(level); - if (r === undefined) { - throw new UnitError('UNKNOWN_LEVEL', `no level \`${level}\` in this scale`, { - level, - levels, - }); - } - return r; - }, - stateOf(floor, ceiling) { - if (!leq(floor, ceiling)) - return 'CONFLICT'; - if (floor !== bottomIx) - return 'REQUIRED'; - if (ceiling !== topIx) - return 'FORBIDDEN'; - return 'FREE'; - }, - joins: () => joinIrr.slice(), - limits: () => meetIrr.slice(), - debits: () => allDebits.slice(), - intervalHeight(lo, hi) { - if (!leq(lo, hi)) - return null; - const inside = all.filter((x) => leq(lo, x) && leq(x, hi)); - const covers = (x) => inside.filter((y) => y !== x && - leq(x, y) && - !inside.some((z) => z !== x && z !== y && leq(x, z) && leq(z, y))); - const long = new Map([[lo, 0]]); - const short = new Map([[lo, 0]]); - const walk = [...inside].sort((a, b) => inside.filter((z) => leq(z, a)).length - inside.filter((z) => leq(z, b)).length); - for (const x of walk) { - const lx = long.get(x); - const sx = short.get(x); - if (lx === undefined || sx === undefined) - continue; - for (const y of covers(x)) { - long.set(y, Math.max(long.get(y) ?? lx + 1, lx + 1)); - short.set(y, Math.min(short.get(y) ?? sx + 1, sx + 1)); - } - } - const l = long.get(hi); - return l !== undefined && l === short.get(hi) ? l : null; - }, - }; -} -export function chain(levels) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'a chain needs at least one level'); - } - const n = levels.length; - const grid = (f) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => f(i, j))); - return build(levels, grid(Math.max), grid(Math.min)); -} -export function height(c, level) { - const r = level; - const depth = (x) => { - let d = 0; - for (let y = 0; y < c.levels.length; y++) - if (y !== x && c.leq(y, x)) - d++; - return d; - }; - let h = 0; - for (let x = 0; x < c.levels.length; x++) - if (x !== r && c.leq(x, r)) - h = Math.max(h, depth(x) + 1); - return h; -} -export function isDistributive(c) { - const n = c.levels.length; - for (let x = 0; x < n; x++) - for (let y = 0; y < n; y++) - for (let z = 0; z < n; z++) { - const left = c.higher(x, c.lower(y, z)); - const right = c.lower(c.higher(x, y), c.higher(x, z)); - if (left !== right) - return false; - } - return true; -} -export function order(levels, leq) { - if (!Array.isArray(levels) || levels.length === 0) { - throw new UnitError('EMPTY_CHAIN', 'an order needs at least one level'); - } - const n = levels.length; - const bound = (a, b, up) => { - const bs = [...Array(n).keys()].filter((x) => up ? leq[a][x] && leq[b][x] : leq[x][a] && leq[x][b]); - const least = bs.filter((x) => bs.every((y) => (up ? leq[x][y] : leq[y][x]))); - if (least.length !== 1) { - throw new UnitError('MALFORMED', `\`${levels[a]}\` and \`${levels[b]}\` have ${least.length} ` + - `${up ? 'lowest common' : 'highest common'} bounds, so this is not a usable scale`, { levels: [levels[a], levels[b]] }); - } - return least[0]; - }; - const grid = (up) => [...Array(n)].map((_, i) => [...Array(n)].map((__, j) => bound(i, j, up))); - return build(levels, grid(true), grid(false)); -} diff --git a/samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 b/samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 deleted file mode 100644 index a44824f..0000000 --- a/samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998 +++ /dev/null @@ -1,16 +0,0 @@ -import { freedom } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function yieldOf(c, acts) { - const by = new Map(); - for (const act of acts) { - const moved = freedom(c, act.before) - freedom(c, act.after); - const key = `${act.by} ${act.epoch}`; - const held = by.get(key) ?? { by: act.by, epoch: act.epoch, closed: 0, reopened: 0, acts: 0 }; - by.set(key, { - ...held, - closed: held.closed + Math.max(moved, 0), - reopened: held.reopened + Math.max(-moved, 0), - acts: held.acts + 1, - }); - } - return [...by.values()].sort((a, b) => (a.by === b.by ? a.epoch - b.epoch : a.by < b.by ? -1 : 1)); -} diff --git a/samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 b/samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 deleted file mode 100644 index 5e69491..0000000 --- a/samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95 +++ /dev/null @@ -1,63 +0,0 @@ -import { unitComplexity } from "./7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1"; -export function statesPerDebit(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return c.joins().map((j) => { - const demanded = c.leq(j, f); - const permitted = c.leq(j, cl); - return [ - c.levels[j], - demanded ? (permitted ? 'REQUIRED' : 'CONFLICT') : permitted ? 'FREE' : 'FORBIDDEN', - ]; - }); -} -export function anyOf(c, units) { - const rank = (u) => [c.rank(u.floor), c.rank(u.ceiling)]; - const holds = (f, cl, l) => c.leq(f, l) && c.leq(l, cl); - const levels = [...c.levels.keys()]; - let live = units.filter((u) => { - const [f, cl] = rank(u); - return c.leq(f, cl); - }); - for (let changed = true; changed;) { - changed = false; - outer: for (let i = 0; i < live.length; i++) { - for (let j = i + 1; j < live.length; j++) { - const [af, ac] = rank(live[i]); - const [bf, bc] = rank(live[j]); - const lo = c.lower(af, bf); - const hi = c.higher(ac, bc); - const gains = levels.some((l) => holds(lo, hi, l) && !holds(af, ac, l) && !holds(bf, bc, l)); - if (gains) - continue; - live = [ - ...live.filter((_, k) => k !== i && k !== j), - { subject: live[i].subject, floor: c.levels[lo], ceiling: c.levels[hi] }, - ]; - changed = true; - break outer; - } - } - } - return live.sort((x, y) => { - const [xf, xc] = rank(x); - const [yf, yc] = rank(y); - return xf - yf || xc - yc; - }); -} -export function missing(c, have, want) { - const [hf, hc] = [c.rank(have.floor), c.rank(have.ceiling)]; - const [wf, wc] = [c.rank(want.floor), c.rank(want.ceiling)]; - const all = [...c.levels.keys()]; - const weakestOf = (works) => { - const ok = all.filter(works); - return ok.filter((l) => !ok.some((o) => o !== l && c.leq(o, l))).map((l) => c.levels[l]); - }; - return { - raiseFloorTo: c.leq(wf, hf) ? [] : weakestOf((l) => c.leq(wf, c.higher(hf, l))), - raiseCeilingTo: c.leq(wc, hc) ? [] : weakestOf((l) => c.leq(wc, c.higher(hc, l))), - }; -} -export function complexity(c, u) { - return unitComplexity(c, u); -} diff --git a/samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 b/samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 deleted file mode 100644 index 0e97fae..0000000 --- a/samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3 +++ /dev/null @@ -1,2 +0,0 @@ -export { PROTOCOL } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -export { fact, abstain, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; diff --git a/samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 b/samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 deleted file mode 100644 index 993dcc8..0000000 --- a/samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86 +++ /dev/null @@ -1,36 +0,0 @@ -import { alphabetForm, alphabets, intervals } from './76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e'; -/** Historical configuration adapters. Typed records use their selected form provider. */ -export const INTERVALS = intervals(-Infinity, Infinity); -export const ALPHABETS = alphabets(); -const UNIT = { K: 1e3, M: 1e6, G: 1e9 }; -/** An interval as the wire writes it: `lo..hi`, optional K/M/G, and `*` for an open end. */ -export function spanOf(value) { - const m = /^(-?\d+(?:\.\d+)?)([KMG])?\.\.((-?\d+(?:\.\d+)?)([KMG])?|\*)$/.exec(value); - if (!m) - return null; - const n = (num, u) => Number(num) * (u ? UNIT[u] : 1); - return { lo: n(m[1], m[2]), hi: m[3] === '*' ? Infinity : n(m[4], m[5]) }; -} -/** An alphabet as the wire writes it: `a|b`, `none`, or `not:a|b`. */ -export function idsOf(value) { - const forbid = value.startsWith('not:'); - return { - polarity: forbid ? 'forbid' : 'permit', - values: new Set((forbid ? value.slice(4) : value).split('|').filter((one) => one !== '' && one !== 'none')), - }; -} -/** Values of the historical configuration forms; no typed object projection or object valuation. */ -export function configurationValues(values) { - if (!values.length) - return undefined; - if (values[0].form === 'interval') { - const read = values.map(one => spanOf(one.value)); - return read.every(one => one !== null) ? { L: INTERVALS, spans: read } : undefined; - } - if (values[0].form !== 'alphabet') - return undefined; - const rest = '\u0000'; - const named = values.map(one => ({ forbid: one.value.startsWith('not:'), names: (one.value.startsWith('not:') ? one.value.slice(4) : one.value).split('|').filter(Boolean) })); - const params = { tokens: [...new Set([rest, ...named.flatMap(one => one.names)])].sort() }; - return { L: alphabetForm.lattice(params), spans: named.map(one => alphabetForm.parse(params, { want: one.forbid ? params.tokens.filter(token => !one.names.includes(token)) : one.names })) }; -} diff --git a/samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a b/samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a deleted file mode 100644 index 7d49c4c..0000000 --- a/samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a +++ /dev/null @@ -1,39 +0,0 @@ -function matchStar(pat, seg) { - if (!pat.includes('*')) - return pat === seg; - const bits = pat.split('*'); - if (!seg.startsWith(bits[0])) - return false; - let i = bits[0].length; - for (let b = 1; b < bits.length; b++) { - const bit = bits[b]; - if (bit === '') - return b === bits.length - 1 || matchStar(bits.slice(b).join('*'), seg.slice(i)); - const hit = seg.indexOf(bit, i); - if (hit < 0) - return false; - i = hit + bit.length; - } - return i === seg.length || pat.endsWith('*'); -} -function matchParts(g, gi, p, pi) { - if (gi === g.length) - return pi === p.length; - if (g[gi] === '**') { - if (gi + 1 === g.length) - return true; - for (let k = pi; k <= p.length; k++) { - if (matchParts(g, gi + 1, p, k)) - return true; - } - return false; - } - if (pi === p.length) - return false; - if (!matchStar(g[gi], p[pi])) - return false; - return matchParts(g, gi + 1, p, pi + 1); -} -export function matches(glob, place) { - return matchParts(glob.split('/'), 0, place.split('/'), 0); -} diff --git a/samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e b/samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e deleted file mode 100644 index 7294d1c..0000000 --- a/samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e +++ /dev/null @@ -1,198 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { fromScale, subsets } from "./fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08"; -import { chain, order } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -export function intervals(lo, hi) { - const low = Math.min(lo, hi); - const high = Math.max(lo, hi); - return { - bottom: { lo: high, hi: low }, - top: { lo: low, hi: high }, - leq(a, b) { - if (a.lo > a.hi) - return true; - if (b.lo > b.hi) - return false; - return b.lo <= a.lo && a.hi <= b.hi; - }, - meet(a, b) { - return { lo: Math.max(a.lo, b.lo), hi: Math.min(a.hi, b.hi) }; - }, - join(a, b) { - if (a.lo > a.hi) - return b; - if (b.lo > b.hi) - return a; - return { lo: Math.min(a.lo, b.lo), hi: Math.max(a.hi, b.hi) }; - }, - show(x) { - return x.lo > x.hi ? 'empty' : `${x.lo}..${x.hi}`; - }, - inhabited(x) { - return x.lo <= x.hi; - }, - }; -} -export function alphabets() { - const within = (x, y) => [...x].every((v) => y.has(v)); - return { - leq(a, b) { - if (a.polarity === 'permit' && b.polarity === 'permit') - return within(a.values, b.values); - if (a.polarity === 'forbid' && b.polarity === 'forbid') - return within(b.values, a.values); - if (a.polarity === 'permit') - return [...a.values].every((v) => !b.values.has(v)); - return false; - }, - show(x) { - return `${x.polarity === 'forbid' ? 'not:' : ''}${[...x.values].sort().join('|')}`; - }, - }; -} -function form(f) { - const held = { lattice: f.lattice, parse: f.parse, emit: f.emit, count: f.count, show: f.show, points: f.points }; - const lacking = Object.entries(held).find(([, fn]) => typeof fn !== 'function'); - if (lacking) - throw new Error(`form \`${f.id}\` declared no ${lacking[0]}`); - return f; -} -const rec = (x) => x !== null && typeof x === 'object' ? x : {}; -function strings(x) { - return Array.isArray(x) ? x.map(String) : []; -} -const drawn = (seed) => { - let s = seed >>> 0; - return () => { - s = (s + 0x6d2b79f5) >>> 0; - let t = Math.imul(s ^ (s >>> 15), s | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; -}; -const picked = (draw, xs) => xs[Math.floor(draw() * xs.length)]; -function bandCount(levels, folded) { - if (levels.length === 0) - return { kind: 'refused', why: 'a ladder with no levels cannot be counted' }; - const c = chain(levels); - const f = c.rank(folded.floor); - const cl = c.rank(folded.ceiling); - if (!c.leq(f, cl)) - return { kind: 'finite', n: 0 }; - const n = levels.filter((_, i) => c.leq(f, i) && c.leq(i, cl)).length; - return { kind: 'finite', n }; -} -const BAND = { - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - subject: String(d.subject ?? ''), - floor: String(d.floor ?? L.top.floor), - ceiling: String(d.ceiling ?? L.top.ceiling), - }; - }, - emit(_params, value) { - return { subject: value.subject, floor: value.floor, ceiling: value.ceiling }; - }, - count(folded, params) { - return bandCount(strings(rec(params).levels), folded); - }, - points(params, seed, n) { - const L = this.lattice(params); - const levels = strings(rec(params).levels); - const draw = drawn(seed); - const band = (floor, ceiling) => ({ subject: '', floor, ceiling }); - return Array.from({ length: n }, () => { - const [a, b] = [picked(draw, levels), picked(draw, levels)]; - return [band(a, b), band(b, a)].find((x) => L.inhabited(x)) ?? band(a, a); - }); - }, -}; -export const ladderForm = form({ - id: 'ladder', - lattice(params) { - const levels = strings(rec(params).levels); - if (levels.length === 0) - throw new Error('ladder needs levels'); - return fromScale(chain(levels)); - }, - ...BAND, - show(value) { - return value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`; - }, -}); -export const alphabetForm = form({ - id: 'alphabet', - lattice(params) { - return subsets(strings(rec(params).tokens)); - }, - parse(params, demand) { - const tokens = strings(rec(params).tokens); - const d = rec(demand); - const want = d.want !== undefined ? strings(d.want) : tokens; - return WideMask.fromTokens(tokens, new Set(want)); - }, - emit(params, value) { - return { want: value.members(strings(rec(params).tokens)) }; - }, - count(folded) { - return { kind: 'finite', n: folded.size() }; - }, - show(value) { - return `${value.size()}`; - }, - points(params, seed, n) { - const tokens = strings(rec(params).tokens); - const draw = drawn(seed); - return Array.from({ length: n }, () => WideMask.fromTokens(tokens, new Set(tokens.filter(() => draw() < 0.5)))); - }, -}); -export const continuousForm = form({ - id: 'continuous', - lattice(params) { - const p = rec(params); - return intervals(Number(p.lo ?? 0), Number(p.hi ?? 1)); - }, - parse(params, demand) { - const L = this.lattice(params); - const d = rec(demand); - return { - lo: d.lo === undefined ? L.top.lo : Number(d.lo), - hi: d.hi === undefined ? L.top.hi : Number(d.hi), - }; - }, - emit(_params, value) { - return { lo: value.lo, hi: value.hi }; - }, - count() { - return { kind: 'refused', why: 'a continuous band has no count; prefer not to exist over inventing one' }; - }, - show(value) { - return value.lo > value.hi ? 'empty' : `${value.lo}..${value.hi}`; - }, - points(params, seed, n) { - const p = rec(params); - const lo = Number(p.lo ?? 0); - const hi = Number(p.hi ?? 1); - const draw = drawn(seed); - const at = () => lo + Math.round(draw() * (hi - lo)); - return Array.from({ length: n }, () => ({ lo: at(), hi: at() })); - }, -}); -export const latticeForm = form({ - id: 'lattice', - lattice(params) { - const p = rec(params); - const levels = strings(p.levels); - const leq = p.leq; - if (levels.length && leq) - return fromScale(order(levels, leq)); - throw new Error('lattice needs levels+leq'); - }, - ...BAND, - show(value) { - return `${value.floor}..${value.ceiling}`; - }, -}); -export const FORM_IMPLEMENTATIONS = [ladderForm, alphabetForm, continuousForm, latticeForm]; -export const FORMS = [...FORM_IMPLEMENTATIONS]; diff --git a/samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 b/samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 deleted file mode 100644 index 567015e..0000000 --- a/samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771 +++ /dev/null @@ -1,60 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -export const STATES = ['REQUIRED', 'FREE', 'FORBIDDEN', 'CONFLICT']; -export function quadrants(demanded, permitted, extent) { - const d = demanded.and(extent); - const p = permitted.and(extent); - return { - REQUIRED: d.and(p), - FREE: p.difference(d), - FORBIDDEN: extent.difference(p).difference(d), - CONFLICT: d.difference(p), - }; -} -export function stateAt(q, bit) { - for (const s of STATES) - if (q[s].has(bit)) - return s; - return null; -} -const overlaps = (a, x) => x >= a.lo && x <= a.hi; -export function runQuadrants(demanded, permitted, extent) { - if (extent.hi < extent.lo) - return []; - const cuts = new Set([extent.lo]); - const add = (s) => { - if (s.lo > extent.lo && s.lo <= extent.hi) - cuts.add(s.lo); - if (s.hi >= extent.lo && s.hi < extent.hi) - cuts.add(s.hi + 1); - }; - for (const s of demanded) - add(s); - if (permitted) - add(permitted); - const at = (x) => { - const d = demanded.some((s) => overlaps(s, x)); - const p = permitted !== null && overlaps(permitted, x); - if (d && p) - return 'REQUIRED'; - if (d) - return 'CONFLICT'; - return p ? 'FREE' : 'FORBIDDEN'; - }; - const points = [...cuts].sort((a, b) => a - b); - const out = []; - for (let i = 0; i < points.length; i++) { - const lo = points[i]; - const hi = i + 1 < points.length ? points[i + 1] - 1 : extent.hi; - if (hi < lo) - continue; - const state = at(lo); - const last = out[out.length - 1]; - if (last && last.state === state && last.hi + 1 === lo) { - out[out.length - 1] = { lo: last.lo, hi, state }; - continue; - } - out.push({ lo, hi, state }); - } - return out; -} -export { DANGEROUS, dangerous, moved, transitions } from "./0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87"; diff --git a/samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 b/samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 deleted file mode 100644 index 415c0df..0000000 --- a/samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1 +++ /dev/null @@ -1,80 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -const namesOf = (c) => c.levels; -const sorted = (names) => [...new Set(names)].sort(); -const has = (xs, name) => xs.includes(name); -export function upset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(c.rank(n), i)))); -} -export function downset(c, names) { - return sorted(namesOf(c).filter((_, i) => names.some((n) => c.leq(i, c.rank(n))))); -} -export function isUpset(c, names) { - const closed = upset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isDownset(c, names) { - const closed = downset(c, names); - return names.length === closed.length && names.every((n) => has(closed, n)); -} -export function isIdealPair(c, d) { - return isUpset(c, d.demand) && isDownset(c, d.permit); -} -export function idealDebit(c, demand, permit) { - const pair = { demand: sorted(demand), permit: sorted(permit) }; - if (!isIdealPair(c, pair)) { - throw new UnitError('MALFORMED', 'a debit that is not a pair of ideals', { - demand: pair.demand, - permit: pair.permit, - }); - } - return pair; -} -export function idealMeet(a, b) { - return { - demand: sorted(a.demand.filter((n) => has(b.demand, n))), - permit: sorted([...a.permit, ...b.permit]), - }; -} -export function idealJoin(a, b) { - return { - demand: sorted([...a.demand, ...b.demand]), - permit: sorted(a.permit.filter((n) => has(b.permit, n))), - }; -} -function idealInhabited(d) { - return d.demand.some((n) => has(d.permit, n)); -} -export function idealEntails(a, b) { - return a.demand.every((n) => has(b.demand, n)) && a.permit.every((n) => has(b.permit, n)); -} -export function idealComplexity(c, d) { - const omega = namesOf(c); - return omega.filter((n) => !has(d.demand, n)).length - + omega.filter((n) => !has(d.permit, n)).length; -} -export function unitToIdeal(c, u) { - return { - demand: upset(c, [u.floor]), - permit: downset(c, [u.ceiling]), - }; -} -export function freedom(c, u) { - const d = unitToIdeal(c, u); - const between = d.demand.filter((n) => has(d.permit, n)).length; - return between > 1 ? Math.log2(between) : 0; -} -export function unitComplexity(c, u) { - return idealComplexity(c, unitToIdeal(c, u)); -} -export function fromIdeals(c) { - const omega = namesOf(c); - return { - bottom: { demand: [], permit: [] }, - top: { demand: [...omega], permit: [...omega] }, - leq: (a, b) => idealEntails(a, b), - meet: (a, b) => idealMeet(a, b), - join: (a, b) => idealJoin(a, b), - show: (x) => `{${x.demand.join(',')}}/{${x.permit.join(',')}}`, - inhabited: (x) => idealInhabited(x), - }; -} diff --git a/samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 b/samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 deleted file mode 100644 index 55ffdd6..0000000 --- a/samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('phase', params, 'lo'), hi: numberAt('phase', params, 'hi') }); -export const phaseForm = { - id: 'phase', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('phase', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c b/samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c deleted file mode 100644 index 8c847a2..0000000 --- a/samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c +++ /dev/null @@ -1,56 +0,0 @@ -import { alphabet, parse } from "./5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e"; -const unknown = (kind, why, distributive = null) => ({ kind, bits: null, premium: null, degenerate: null, why, distributive }); -/** Compare wire decimals without rounding distinct endpoints to the same floating-point number. */ -function compareDecimal(left, right) { - const rational = (text) => { - const [integer = '', fraction = ''] = text.split('.'); - return { numerator: BigInt(`${integer}${fraction}`), scale: 10n ** BigInt(fraction.length) }; - }; - const a = rational(left); - const b = rational(right); - const difference = a.numerator * b.scale - b.numerator * a.scale; - return difference < 0n ? -1 : difference > 0n ? 1 : 0; -} -/** - * A permitted alphabet is a subset lattice: n distinct tokens permit 2^n subsets, hence n bits. Its cardinality - * valuation is modular, since |A|+|B| = |A union B|+|A intersection B|. The obligations premium therefore vanishes - * for every declaration. Neither the powerset nor its order matrix needs to be materialized. - * - * An interval does not declare a discrete step. A non-singleton continuous band has no state count under the wire - * contract, even when both endpoints happen to be integers; missing cardinality is not infinite measured freedom. - */ -export function declaredConfig(line) { - const got = parse(line); - if (got.kind !== 'fact') - return unknown('invalid', got.why); - const { form, value, type } = got.value.fields; - if (type !== undefined) - return unknown('unsupported', 'object freedom needs its selected valuation; a configuration estimate cannot measure it'); - if (form === undefined || value === undefined) - return unknown('invalid', 'a declaration must name its form and value'); - if (value === 'withdraw') - return unknown('inactive', 'a withdrawal declares no current freedom'); - if (form === 'alphabet') { - let tokens; - try { - tokens = alphabet(value); - } - catch (error) { - return unknown('invalid', error instanceof Error ? error.message : String(error)); - } - if (tokens.polarity === 'forbid') - return unknown('complement', 'the complement names exclusions but declares no universe to count'); - return { kind: 'finite', form, bits: new Set(tokens.members).size, premium: 0, degenerate: true, distributive: true }; - } - if (form === 'interval') { - const [lo = '', hi = ''] = value.split('..'); - if (lo === '*' || hi === '*') - return unknown('unbounded', 'the interval has an open endpoint and declares no discrete state count', false); - // The wire parser already validated decimal syntax. Equality and empty bands each leave no decision. - const comparison = compareDecimal(lo, hi); - if (comparison >= 0) - return { kind: 'finite', form, bits: 0, premium: 0, degenerate: true, distributive: true }; - return unknown('continuous', 'the interval declares no discrete step or state count', false); - } - return unknown('unsupported', `freedom is not defined here for form ${form}`); -} diff --git a/samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 b/samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 deleted file mode 100644 index 15678dd..0000000 --- a/samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880 +++ /dev/null @@ -1,79 +0,0 @@ -export function coordinate(name, steps = '/') { - const at = name.split(new RegExp(`[${steps.replace(/[.*+?^${}()|[\]\\-]/g, '\\$&')}]`)).filter((s) => s !== ''); - while (at[at.length - 1] === '*' || at[at.length - 1] === '**') - at.pop(); - return at; -} -export function point(name, epoch = 0, seen = [], steps = '/') { - return { at: coordinate(name, steps), epoch, seen }; -} -export function region(name, steps = '/') { - return { at: coordinate(name, steps) }; -} -export function coarsen(place, steps) { - return { at: place.at.slice(0, Math.max(0, steps)), epoch: place.epoch, seen: place.seen }; -} -export function passes(place, step) { - return step.startsWith('*') ? place.at.some((s) => s.endsWith(step.slice(1))) : place.at.includes(step); -} -export function resolution(place) { - return place.at.length; -} -export function within(inner, outer) { - const refines = (i, j) => j === outer.at.length - || (outer.at[j] === '**' - ? refines(i, j + 1) || (i < inner.at.length && refines(i + 1, j)) - : i < inner.at.length && (outer.at[j] === '*' || outer.at[j] === inner.at[i]) && refines(i + 1, j + 1)); - return refines(0, 0); -} -export function exclusive(mine, others) { - return mine.filter((one) => !others.some((other) => other.some((theirs) => resolution(theirs) === resolution(one) && within(one, theirs)))); -} -export function contracts(regions, touched) { - return !regions.some((one) => touched.some((p) => within(p, one))); -} -export function key(regions) { - return [...new Set(regions.map((one) => one.at.join('/')))].sort().join('|'); -} -const inside = (one, of) => one >= of.lo && one <= of.hi; -export function foldRegion(places, where, f) { - const gathered = new Map(); - for (const place of places) { - if (!within(place, where)) - continue; - const at = place.at.join('/'); - gathered.set(at, [...(gathered.get(at) ?? []), place]); - } - return [...gathered].sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).map(([at, met]) => ({ at, value: f(met) })); -} -export function covers(met, of) { - return met.every((place) => of.where.some((one) => within(place, one)) - && inside(resolution(place), of.steps) - && inside(place.epoch, of.when)); -} -export function outranks(met, named, order) { - const matched = named.filter(([step]) => met.some((place) => passes(place, step))).map(([, kind]) => kind); - return order.find((kind) => matched.includes(kind)) ?? null; -} -export function answers(met, where) { - return met.length > 0 && met.every((place) => where.some((one) => within(place, one))); -} -export function verified(met, green) { - return met.some((place) => green(place)); -} -export function retracted(met, by) { - return met.filter((place) => by.some((one) => within(place, one))); -} -export function size(at, steps) { - return new Set(at.map((name) => { - const place = point(name); - return (steps === undefined ? place : coarsen(place, steps)).at.join('/'); - })).size; -} -export function sufficientResolution(finest, verdict, same = Object.is) { - const whole = verdict(finest); - for (let steps = 1; steps < finest; steps += 1) - if (same(verdict(steps), whole)) - return steps; - return finest; -} diff --git a/samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d b/samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d deleted file mode 100644 index 35b39af..0000000 --- a/samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d +++ /dev/null @@ -1,19 +0,0 @@ -import { relate } from "./0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7"; -export function foldSigned(L, values) { - const classes = []; - for (let i = 0; i < values.length; i++) { - const home = classes.find((c) => relate(L, values[c[0]], values[i]) === 'equal'); - if (home) - home.push(i); - else - classes.push([i]); - } - const standing = []; - for (let c = 0; c < classes.length; c++) { - const mine = values[classes[c][0]]; - const beaten = classes.some((other, o) => o !== c && relate(L, values[other[0]], mine) === 'narrower'); - if (!beaten) - standing.push(c); - } - return { classes, standing, fork: standing.length > 1 }; -} diff --git a/samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c b/samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c deleted file mode 100644 index 46d8612..0000000 --- a/samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c +++ /dev/null @@ -1,30 +0,0 @@ -function stream(seed) { - let s = (Math.imul(seed + 1, 2654435761) ^ 0x5f3759df) >>> 0; - return () => { - s = (Math.imul(s, 1664525) + 1013904223) >>> 0; - return s; - }; -} -export function unitStream(seed) { - const next = stream(seed); - return () => next() / 4294967296; -} -export function permute(xs, salt) { - const next = stream(salt); - const out = xs.slice(); - for (let i = out.length - 1; i > 0; i--) { - const j = next() % (i + 1); - const t = out[i]; - out[i] = out[j]; - out[j] = t; - } - return out; -} -export function permutationBlind(values, claim, draws = 8) { - const want = JSON.stringify(claim(values)); - for (let d = 0; d < draws; d++) { - if (JSON.stringify(claim(permute(values, d + 1))) !== want) - return false; - } - return true; -} diff --git a/samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 b/samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 deleted file mode 100644 index b539f95..0000000 --- a/samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8 +++ /dev/null @@ -1,74 +0,0 @@ -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { byBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -export function coordinateText(value) { - return value !== '' && !/[\s\\|]/.test(value) && value.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s !== '*' && s !== '**'); -} -export function restCoordinates(text) { - try { - const read = alphabet(text); - if (read.polarity !== 'permit' || read.members.some((one) => !coordinateText(one))) - return undefined; - const sorted = [...new Set(read.members)].sort(byBytes); - if (alphabet({ polarity: 'permit', members: sorted }) !== text) - return undefined; - return sorted; - } - catch { - return undefined; - } -} -const COMMON = ['type', 'scope', 'id', 'epoch', 'by', 'sig']; -/** Typed records retain encoded values; only the selected codec interprets them. */ -export function objectFromFields(fields, keys, schema, globalFields, forms) { - const bad = (why, key) => refuse(why, key); - if (keys.includes('at')) - return bad('object records carry no at: order is epoch and a local join witness is widens', 'at'); - const type = fields.type; - if (!schema.types.has(type ?? '') || !['cell', 'claim', 'mark'].includes(type ?? '')) - return bad('an object record names a declared type: cell, claim or mark', 'type'); - if (!/^(0|[1-9][0-9]*)$/.test(fields.epoch ?? '') || !Number.isSafeInteger(Number(fields.epoch))) - return bad('an object record carries an exactly supported logical epoch', 'epoch'); - if (Number(fields.epoch) < schema.activation) - return bad(`an object epoch precedes typed-wire activation ${schema.activation}`, 'epoch'); - let row; - if (type === 'cell') - row = 'cell'; - else if (fields.sign === '-1') - row = `${type}/negative`; - else if (fields.sign !== '+1') - return bad('a claim or mark names sign=+1 or sign=-1', 'sign'); - else if (type === 'claim') - row = 'claim/positive'; - else if (fields.pole === 'floor' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/floor-travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'travels' && fields.widens === undefined) - row = 'mark/travelling'; - else if (fields.pole === 'ceiling' && fields.reach === 'local') - row = 'mark/local'; - else - return bad('a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens', 'pole'); - const required = schema.required.get(row); - const allowed = schema.allowed.get(row); - if (!required || !allowed || schema.common.size === 0 || schema.configuration.size === 0 || [...schema.common].some(k => !required.has(k) || !allowed.has(k)) || [...required].some(k => !allowed.has(k))) - return bad(`typed wire has no complete required/allowed contract for ${row}`, 'type'); - // These are intrinsic envelope identities, not a copy of each row's field alphabet. - for (const key of COMMON) - if (fields[key] === undefined || fields[key] === '') - return bad(`an object record has no ${key}`, key); - for (const key of keys) - if (!globalFields.has(key) || !allowed.has(key)) - return bad(`\`${key}=\` is not allowed on ${row}`, key); - for (const key of required) - if (!allowed.has(key) || fields[key] === undefined || fields[key] === '') - return bad(`a ${row} record has no declared required \`${key}\``, key); - if (!coordinateText(fields.scope)) - return bad('scope is a canonical cell coordinate', 'scope'); - if (type === 'cell') { - if (!forms.has(fields.form)) - return bad('the cell names no admitted form', 'form'); - if (restCoordinates(fields.restsOn) === undefined) - return bad('cell restsOn is none or a canonical alphabet of coordinates', 'restsOn'); - } - return fact({ record: type, fields: { ...fields } }); -} diff --git a/samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c b/samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c deleted file mode 100644 index e0d477d..0000000 --- a/samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c +++ /dev/null @@ -1,128 +0,0 @@ -import { abstain, fact, refuse } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const PROTOCOL = 'bound-lock/1'; -const NEEDS_QUOTE = /[ ="\n\\]/; -function escape(value) { - if (!NEEDS_QUOTE.test(value)) - return value; - return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`; -} -function unescape(token) { - if (!token.startsWith('"')) - return NEEDS_QUOTE.test(token) ? null : token; - if (token.length < 2 || !token.endsWith('"')) - return null; - const body = token.slice(1, -1); - let out = ''; - for (let i = 0; i < body.length; i++) { - const c = body[i]; - if (c !== '\\') { - if (c === '"') - return null; - out += c; - continue; - } - const next = body[i + 1]; - if (next === '"') - out += '"'; - else if (next === '\\') - out += '\\'; - else if (next === 'n') - out += '\n'; - else - return null; - i += 1; - } - return out; -} -const UTF8 = new TextEncoder(); -export function byBytes(a, b) { - const x = UTF8.encode(a); - const y = UTF8.encode(b); - for (let i = 0; i < x.length && i < y.length; i++) { - if (x[i] !== y[i]) - return x[i] - y[i]; - } - return x.length - y.length; -} -/* NO UNICODE NORMALISATION — NFC and NFD are two scopes until a bridge. */ -const unwritten = (fields) => fields['form'] === 'interval' && fields['value'] !== undefined && fields['value'] !== 'withdraw' && boundOf('interval', fields['value']) === null; -export function canonical(fields, version = '1') { - if (unwritten(fields)) - throw new Error(`REFUSE·wire canonical: \`${fields['value']}\` is no interval the wire writes: two ends, each decimal or *`); - const keys = Object.keys(fields).sort(byBytes); - const tokens = keys.map((k) => `${k}=${escape(fields[k])}`); - return [`${PROTOCOL.split('/')[0]}/${version}`, ...tokens].join(' '); -} -export function signedBytes(fields, version = '1') { - const { sig: _sig, ...rest } = fields; - return canonical(rest, version); -} -const ABSENT = '-'; -export function parse(text, options = {}) { - if (text.includes('\n')) { - return refuse('a line is one line — a newline in a value must be escaped as `\\n`'); - } - const space = text.indexOf(' '); - const envelope = space === -1 ? text : text.slice(0, space); - const [name, version] = envelope.split('/'); - if (name !== PROTOCOL.split('/')[0] || !version) { - return refuse(`no \`bound-lock/\` envelope — found \`${envelope.slice(0, 24)}\``); - } - if (version !== PROTOCOL.split('/')[1]) { - return abstain(`\`bound-lock/${version}\` is a version this reader does not know`); - } - const fields = {}; - const writtenKeys = new Set(); - for (const token of tokensOf(space === -1 ? '' : text.slice(space + 1))) { - if (token === null) - return refuse('a quoted value is not closed'); - const at = token.indexOf('='); - if (at <= 0) - return refuse(`\`${token.slice(0, 24)}\` is not \`key=value\``); - const key = token.slice(0, at); - if (writtenKeys.has(key)) - return refuse(`\`${key}\` appears twice — one line, one value per key`); - writtenKeys.add(key); - const value = unescape(token.slice(at + 1)); - if (value === null) - return refuse(`\`${key}\` has an escaping this format does not define`); - if (value !== ABSENT) - fields[key] = value; - } - if (unwritten(fields)) - return refuse(`\`${fields['value']}\` is no interval the wire reads: two ends, each decimal or *`); - return fact({ version, fields, ...(options.preserveKeys ? { keys: [...writtenKeys] } : {}) }); -} -function* tokensOf(rest) { - let at = 0; - while (at < rest.length) { - while (rest[at] === ' ') - at += 1; - if (at >= rest.length) - return; - let end = at; - let quoted = false; - while (end < rest.length && (quoted || rest[end] !== ' ')) { - if (rest[end] === '\\' && quoted) - end += 1; - else if (rest[end] === '"') - quoted = !quoted; - end += 1; - } - if (quoted) { - yield null; - return; - } - yield rest.slice(at, end); - at = end; - } -} -/** Signing cannot silently discard a key that was explicitly written as absent. */ -export function parseForSigning(text) { - const got = parse(text, { preserveKeys: true }); - if (got.kind !== 'fact') - return got; - const absent = got.value.keys.find(key => got.value.fields[key] === undefined); - return absent === undefined ? got : refuse(`signing cannot discard explicitly absent field ${absent}; omit the key`, absent); -} diff --git a/samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 b/samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 deleted file mode 100644 index c90d341..0000000 --- a/samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4 +++ /dev/null @@ -1,31 +0,0 @@ -import { parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { recordKind } from "./5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128"; -import { fromLine, wireAt } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { fact } from "./deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a"; -/** Historical grammar is selected by each record's epoch, before context admission. */ -export function objectHistory(lines) { - const parsed = []; - for (const text of lines) { - const p = parse(text); - if (p.kind !== 'fact') - return p; - parsed.push(p.value.fields); - } - const objects = [], configuration = []; - for (let i = 0; i < lines.length; i++) { - const k = recordKind(lines[i]); - if (k.kind !== 'fact') - return k; - if (k.value === 'config') { - configuration.push(parsed[i]); - continue; - } - const got = fromLine(lines[i], wireAt(parsed, Number(parsed[i].epoch))); - if (got.kind !== 'fact') - return got; - if (!('record' in got.value)) - throw Error('typed history returned configuration'); - objects.push(got.value); - } - return fact({ objects, configuration }); -} diff --git a/samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d b/samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d deleted file mode 100644 index cc0de4b..0000000 --- a/samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('interval', params, 'lo'), hi: numberAt('interval', params, 'hi') }); -export const intervalForm = { - id: 'interval', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('interval', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 b/samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 deleted file mode 100644 index 6d4170d..0000000 --- a/samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6 +++ /dev/null @@ -1,36 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { levelsOf, refuseForm, wordsAt, written } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** A distribution is a product of levels by bucket: every tuple of one level per bucket, ordered bucket by bucket. */ -function product(params) { - const buckets = wordsAt('distribution', params, 'buckets'); - const levels = wordsAt('distribution', params, 'levels'); - const tuples = buckets.reduce((held) => held.flatMap((tuple) => levels.map((level) => [...tuple, level])), [[]]); - return { buckets, levels, tuples }; -} -const orderOver = (params) => { - const { levels, tuples } = product(params); - const at = (tuple) => tuple.map((level) => levels.findIndex((one) => one === level)); - return { levels: tuples.map((tuple) => JSON.stringify(tuple)), leq: tuples.map((low) => tuples.map((high) => at(low).every((rank, i) => rank <= (at(high)[i] ?? -1)))) }; -}; -export const distributionForm = { - id: 'distribution', - lattice: (params) => latticeForm.lattice(orderOver(params)), - parse(params, text) { - const { buckets, levels } = product(params); - const bucketOf = (part) => buckets.find((bucket) => !bucket.includes(':') && part.startsWith(`${bucket}:`)); - const members = alphabet(text).members; - const said = new Map(members.flatMap((part) => ((bucket) => (bucket === undefined ? [] : [[bucket, part.slice(bucket.length + 1)]]))(bucketOf(part)))); - const stray = members.find((part) => bucketOf(part) === undefined) ?? buckets.find((bucket) => !said.has(bucket)); - if (stray !== undefined) - refuseForm('distribution', `\`${stray}\` is not the bucket list it is given, every bucket named once`); - const bands = buckets.map((bucket) => levelsOf('distribution', levels, said.get(bucket) ?? '')); - return { subject: '', floor: JSON.stringify(bands.map((band) => band.floor)), ceiling: JSON.stringify(bands.map((band) => band.ceiling)) }; - }, - emit(params, value) { - const [lows, highs] = [JSON.parse(value.floor), JSON.parse(value.ceiling)]; - return written(product(params).buckets.map((bucket, i) => (lows[i] === highs[i] ? `${bucket}:${lows[i]}` : `${bucket}:${lows[i]}..${highs[i]}`))); - }, - show: (params, value) => latticeForm.lattice(orderOver(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOver(params), seed, n), -}; diff --git a/samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 b/samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 deleted file mode 100644 index 3aa56c0..0000000 --- a/samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3 +++ /dev/null @@ -1,63 +0,0 @@ -import { canonical, parse, signedBytes } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { parseSignature } from "./103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c"; -import { boundOf } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -/** Proposed transport vector, not an admitted object/configuration record. */ -export function requestBytes(lot) { - if (!lot.bytes.length) - throw new Error('REFUSE·signer empty lot'); - for (const bytes of lot.bytes) { - const got = parse(bytes); - if (got.kind !== 'fact' || got.value.fields['sig'] !== undefined - || got.value.fields['by'] !== lot.keyId || signedBytes(got.value.fields) !== bytes) { - throw new Error('REFUSE·signer noncanonical payload'); - } - } - return lot.bytes.join('\n') + '\n'; -} -export function responseBytes(records) { - return records.map(record => canonical({ by: record.keyId, sig: record.signature })).join('\n') + '\n'; -} -/** The existing lexical envelope carries exactly by/sig, in lot order. No authority is minted. */ -export function responseOf(text, lot) { - if (!text.endsWith('\n')) - throw new Error('REFUSE·signer truncated response'); - const rows = text.slice(0, -1).split('\n'); - if (rows.length !== lot.bytes.length) - throw new Error('REFUSE·signer response count'); - return rows.map(row => { - const got = parse(row); - if (got.kind !== 'fact') - throw new Error('REFUSE·signer response grammar'); - const fields = got.value.fields; - const signature = parseSignature(fields['sig'] ?? ''); - if (Object.keys(fields).length !== 2 || fields['by'] !== lot.keyId || !signature - || signature.algorithm !== lot.algorithm || canonical(fields) !== row) { - throw new Error('REFUSE·signer response identity or signature form'); - } - return { keyId: fields['by'], signature: fields['sig'] }; - }); -} -/** Caller supplies live admitted configuration; host resolves the logical name separately. */ -export function signerSelection(lines, keyId) { - const value = (scope, measure) => { - const rows = lines.filter(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw'); - const values = [...new Set(rows.map(f => f['value']))]; - if (values.length !== 1 || !values[0]) - throw new Error(`REFUSE·signer ${keyId} missing or conflicting ${scope}`); - return values[0]; - }; - const exact = (scope, measure) => { - if (lines.some(f => f['scope'] === scope && f['measure'] === measure - && f['role'] === 'writes' && f['value'] !== 'withdraw' && f['form'] !== 'interval')) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - const bound = boundOf('interval', value(scope, measure)); - if (!bound || bound.kind !== 'interval' || bound.lo === null || bound.lo !== bound.hi || !Number.isSafeInteger(bound.lo) || bound.lo <= 0) { - throw new Error(`REFUSE·signer ${keyId} invalid ${scope}`); - } - return bound.lo; - }; - return { name: value(`keys/${keyId}`, 'signer'), timeoutMs: exact('signer/timeout', 'milliseconds'), - responseBytes: exact('signer/response-bytes', 'bytes') }; -} diff --git a/samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 b/samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 deleted file mode 100644 index 7c95c11..0000000 --- a/samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670 +++ /dev/null @@ -1,48 +0,0 @@ -import { unpipe } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -const [FORBID, EMPTY, MEMBER, PAIR, STEP, AT, EVERY, ESCAPE] = ['not:', 'none', '|', '=', '/', '@', '*', '\\']; -const refuse = (grammar, why) => { - throw new Error(`REFUSE·wire ${grammar}: ${why}`); -}; -const digits = (text) => text !== '' && [...text].every((one) => one >= '0' && one <= '9'); -export function alphabet(given) { - if (typeof given !== 'string') { - const written = given.members.map((one) => one.split(ESCAPE).join(ESCAPE + ESCAPE).split(MEMBER).join(ESCAPE + MEMBER)).join(MEMBER); - if (given.polarity === 'forbid') - return FORBID + written; - return written.startsWith(FORBID) || written === EMPTY ? refuse('alphabet', 'a permitted alphabet neither begins with not: nor is the one word none') : written || EMPTY; - } - const forbid = given.startsWith(FORBID); - const body = forbid ? given.slice(FORBID.length) : given; - const members = !forbid && body === EMPTY ? [] : unpipe(body) ?? refuse('alphabet', 'a backslash escapes only a pipe or itself'); - return { polarity: forbid ? 'forbid' : 'permit', members: members.filter((one) => one !== '') }; -} -export function fields(given) { - if (typeof given !== 'string') - return alphabet({ polarity: 'permit', members: given.map(([key, value]) => key + PAIR + value) }); - const read = alphabet(given); - if (read.polarity === 'forbid') - refuse('fields', 'fields carry no polarity'); - return read.members.map((one) => (one.indexOf(PAIR) > 0 ? [one.slice(0, one.indexOf(PAIR)), one.slice(one.indexOf(PAIR) + 1)] : refuse('fields', `\`${one}\` is not key=value`))); -} -export function steps(given) { - if (typeof given === 'string') - return given.split(STEP); - return given.some((one) => one.includes(STEP)) ? refuse('steps', 'a step holds no slash') : given.join(STEP); -} -export function atResolution(given) { - if (typeof given !== 'string') - return given.at === undefined ? given.name : given.name + AT + String(given.at); - const at = given.lastIndexOf(AT); - if (at < 0) - return { name: given }; - const [name, said] = [given.slice(0, at), given.slice(at + 1)]; - if (name === '' || (said !== EVERY && !digits(said))) - refuse('atResolution', `\`${given}\` is not name@digits or name@*`); - return { name, at: said === EVERY ? EVERY : Number(said) }; -} -export function requirement(given) { - if (typeof given !== 'string') - return given.name === '' || given.range === '' || given.range.includes(AT) ? refuse('requirement', 'a requirement names what it requires and a range, with no at sign') : given.name + AT + given.range; - const at = given.lastIndexOf(AT); - return at > 0 && at < given.length - 1 ? { name: given.slice(0, at), range: given.slice(at + 1) } : refuse('requirement', `\`${given}\` is not name@range`); -} diff --git a/samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 b/samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 deleted file mode 100644 index e59f405..0000000 --- a/samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4 +++ /dev/null @@ -1,8 +0,0 @@ -import { chain } from "./6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059"; -import { compose, unit } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export const METHODS = ['declared', 'statistics', 'sample', 'exact']; -export function weakest(methods) { - const c = chain(METHODS); - const units = [...methods].map((m) => unit('evidence', { floor: METHODS[0], ceiling: m })); - return units.length === 0 ? 'exact' : compose(c, units).ceiling; -} diff --git a/samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 b/samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 deleted file mode 100644 index 1d616b5..0000000 --- a/samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78 +++ /dev/null @@ -1,12 +0,0 @@ -export function declaration(c, u) { - return { demand: c.rank(u.floor), limit: c.rank(u.ceiling) }; -} -export function asUnit(c, d, subject = '') { - return { subject, floor: c.levels[d.demand], ceiling: c.levels[d.limit] }; -} -export function conj(c, a, b) { - return { demand: c.higher(a.demand, b.demand), limit: c.lower(a.limit, b.limit) }; -} -export function disj(c, a, b) { - return { demand: c.lower(a.demand, b.demand), limit: c.higher(a.limit, b.limit) }; -} diff --git a/samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d b/samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d deleted file mode 100644 index 4e8ef49..0000000 --- a/samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d +++ /dev/null @@ -1,58 +0,0 @@ -import { coordinate } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function cell(at, epoch = 0, seen = [], restsOn = []) { - return { at: coordinate(at), epoch, seen, restsOn }; -} -export function mark(one) { - if (one.widens !== undefined && one.reach === 'travels') { - throw new UnitError('widening-travels', 'obligations: REFUSE·widening-travels a widening stands where it was witnessed and never travels to what rests there', { pole: one.pole }); - } - return one.takes === undefined ? one : { ...one, sign: -1 }; -} -export function live(lines) { - const taken = new Set(lines.flatMap((line) => (line.takes === undefined ? [] : [line.takes]))); - return lines.filter((line) => line.takes === undefined && (line.id === undefined || !taken.has(line.id))); -} -export function restOf(c, world = new Map()) { - const own = c.at.join('/'); - const out = []; - const held = new Set(); - const edge = [...c.restsOn]; - for (let i = 0; i < edge.length; i += 1) { - const name = edge[i]; - if (name === own) - throw new UnitError('rest-cycle', `obligations: REFUSE·rest ${own} rests on itself: an order of rest with a cycle has no fold to reach`, { at: own }); - if (held.has(name)) - continue; - held.add(name); - out.push(name); - edge.push(...(world.get(name)?.restsOn ?? [])); - } - return out; -} -export function parts(L, c, world = new Map()) { - const rest = restOf(c, world); - const above = rest.flatMap((name) => live(world.get(name)?.marks ?? []).filter((one) => one.reach === 'travels' && one.widens === undefined)); - const marks = [...live(c.marks ?? []), ...above].sort((a, b) => (a.at ?? 0) - (b.at ?? 0)); - let required = L.top; - let signed = L.top; - for (const one of marks) { - if (one.pole === 'floor') - required = L.meet(required, one.span); - else - signed = one.widens === undefined ? L.meet(signed, one.span) : L.join(signed, one.span); - } - const origins = live(c.seen); - const held = origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top); - return { floor: L.meet(required, held), ceiling: L.meet(signed, held), origins, rest, required, signed }; -} -export function state(L, c, world = new Map()) { - const { floor, ceiling, origins, required, signed } = parts(L, c, world); - if (!L.inhabited(L.meet(required, signed))) - return 'CONFLICT'; - if (new Set(origins.map((claim) => claim.origin)).size < 2) - return 'REQUIRED'; - if (!L.inhabited(origins.reduce((acc, claim) => L.meet(acc, claim.span), L.top))) - return 'CONFLICT'; - return L.inhabited(L.meet(floor, ceiling)) ? 'FREE' : 'FORBIDDEN'; -} diff --git a/samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf b/samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf deleted file mode 100644 index 2f061b6..0000000 --- a/samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf +++ /dev/null @@ -1,13 +0,0 @@ -import { alphabetOfForm } from "./5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e"; -import { budgetForm } from "./e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2"; -import { distributionForm } from "./b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6"; -import { intervalForm } from "./b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d"; -import { ladderOfForm } from "./4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f"; -import { latticeOfForm } from "./dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6"; -import { phaseForm } from "./7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903"; -import { rankForm } from "./3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091"; -import { stretchForm } from "./35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3"; -export { violationsIn } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -export { alphabetOfForm, budgetForm, distributionForm, intervalForm, ladderOfForm, latticeOfForm, phaseForm, rankForm, stretchForm }; -export { ALPHABETS, INTERVALS, idsOf, spanOf, configurationValues } from "./7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86"; -export { declaredConfig } from "./81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c"; diff --git a/samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 b/samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 deleted file mode 100644 index befef89..0000000 --- a/samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94 +++ /dev/null @@ -1,18 +0,0 @@ -import { meetAt, potential } from "./f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5"; -export function present(place) { - if (potential(place)) - return 'potential'; - const held = meetAt(place); - return held.lo > held.hi ? null : held; -} -export function converge(width, maturation, forgetting, epochs) { - let at = width; - for (let epoch = 0; epoch < epochs; epoch += 1) - at = Math.max(0, at + maturation - forgetting); - return { width: at, trend: at === 0 && width > 0 ? 'zero' : at > width ? 'widens' : at < width ? 'narrows' : 'holds' }; -} -export function endsBeforeNow(now, leading, lagging) { - const ends = [...leading, ...lagging].map(([, hi]) => hi); - const end = ends.length ? Math.max(...ends) : 0; - return leading.length === 0 && end < now; -} diff --git a/samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 b/samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 deleted file mode 100644 index 6575f8a..0000000 --- a/samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6 +++ /dev/null @@ -1,5 +0,0 @@ -import { parts } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -export function meet(L, c, world = new Map()) { - const { floor, ceiling } = parts(L, c, world); - return L.meet(floor, ceiling); -} diff --git a/samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 b/samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 deleted file mode 100644 index 8cd3a24..0000000 --- a/samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6 +++ /dev/null @@ -1,18 +0,0 @@ -import { latticeForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { levelsOf, paramsOf, refuseForm, wordsAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -/** An order a line names outright: its levels and, for each pair, whether the first lies under the second. */ -function orderOf(params) { - const levels = wordsAt('lattice', params, 'levels'); - const leq = paramsOf(params)['leq']; - if (!Array.isArray(leq) || leq.length !== levels.length || leq.some((row) => !Array.isArray(row) || row.length !== levels.length)) - refuseForm('lattice', 'takes leq as a square of truths over its levels'); - return { levels, leq: leq }; -} -export const latticeOfForm = { - id: 'lattice', - lattice: (params) => latticeForm.lattice(orderOf(params)), - parse: (params, text) => levelsOf('lattice', orderOf(params).levels, text), - emit: (_params, value) => (value.floor === value.ceiling ? value.floor : `${value.floor}..${value.ceiling}`), - show: (params, value) => latticeForm.lattice(orderOf(params)).show(value), - points: (params, seed, n) => latticeForm.points(orderOf(params), seed, n), -}; diff --git a/samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a b/samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a deleted file mode 100644 index 7d36963..0000000 --- a/samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a +++ /dev/null @@ -1,3 +0,0 @@ -export const fact = (value) => ({ kind: 'fact', value }); -export const abstain = (why) => ({ kind: 'abstain', why }); -export const refuse = (why, named) => ({ kind: 'refuse', why, ...(named === undefined ? {} : { named }) }); diff --git a/samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 b/samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 deleted file mode 100644 index 4101623..0000000 --- a/samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2 +++ /dev/null @@ -1,11 +0,0 @@ -import { continuousForm } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { bandOf, bandText, numberAt } from "./fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d"; -const span = (params) => ({ lo: numberAt('budget', params, 'lo'), hi: numberAt('budget', params, 'hi') }); -export const budgetForm = { - id: 'budget', - lattice: (params) => continuousForm.lattice(span(params)), - parse: (params, text) => bandOf('budget', span(params), text), - emit: (_params, value) => bandText(value), - show: (params, value) => continuousForm.lattice(span(params)).show(value), - points: (params, seed, n) => continuousForm.points(span(params), seed, n), -}; diff --git a/samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 b/samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 deleted file mode 100644 index 2a43916..0000000 --- a/samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421 +++ /dev/null @@ -1,110 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export function unit(subject, bounds) { - return { subject, floor: bounds.floor, ceiling: bounds.ceiling }; -} -export const permitAll = (c, subject) => unit(subject, { floor: c.bottom, ceiling: c.top }); -export function state(c, u) { - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -export function asBoolean(c, u) { - const s = state(c, u); - if (s === 'CONFLICT') { - return { - kind: 'unsayable', - lost: 'a boolean has no way to say two promises cannot both hold, so a ' + - 'register of booleans settles it by precedence instead', - }; - } - if (s === 'REQUIRED') { - return { - kind: 'lossy', - value: true, - lost: 'the floor: a boolean says may, never must, so nothing records that ' + - 'somebody depends on this', - }; - } - if (s === 'FORBIDDEN') { - return c.rank(u.ceiling) === c.bottomIx - ? { kind: 'exactly', value: false } - : { kind: 'lossy', value: true, lost: 'the ceiling: a boolean cannot say how far' }; - } - return { kind: 'exactly', value: true }; -} -export function bitLoss(c) { - let exactly = 0; - let lossy = 0; - let unsayable = 0; - let possible = 0; - for (const floor of c.levels) { - for (const ceiling of c.levels) { - possible++; - const k = asBoolean(c, { subject: '', floor, ceiling }).kind; - if (k === 'exactly') - exactly++; - else if (k === 'lossy') - lossy++; - else - unsayable++; - } - } - return { possible, exactly, lossy, unsayable }; -} -export function compose(c, units) { - for (const u of units) { - if (!c.leq(c.rank(u.floor), c.rank(u.ceiling))) { - throw new UnitError('MALFORMED', `\`${u.subject}\` cannot be met by anything`, { - subject: u.subject, - floor: u.floor, - ceiling: u.ceiling, - }); - } - } - return fuse(c, units); -} -function band(c, units, from, onFloor, onCeiling) { - let floor = from.floor; - let ceiling = from.ceiling; - for (const u of units) { - floor = onFloor(floor, c.rank(u.floor)); - ceiling = onCeiling(ceiling, c.rank(u.ceiling)); - } - return { subject: units[0].subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} -export function fuse(c, units) { - if (units.length === 0) - return permitAll(c, ''); - return band(c, units, { floor: c.bottomIx, ceiling: c.topIx }, (a, b) => c.higher(a, b), (a, b) => c.lower(a, b)); -} -export function composeState(c, units) { - const u = compose(c, units); - return c.stateOf(c.rank(u.floor), c.rank(u.ceiling)); -} -const ORDER = ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT']; -const RoC = 'REQUIRED_OR_CONFLICT'; -const TABLE = [ - ['FREE', 'REQUIRED', 'FORBIDDEN', 'CONFLICT'], - ['REQUIRED', RoC, RoC, 'CONFLICT'], - ['FORBIDDEN', RoC, 'FORBIDDEN', 'CONFLICT'], - ['CONFLICT', 'CONFLICT', 'CONFLICT', 'CONFLICT'], -]; -export function table(a, b) { - return TABLE[ORDER.indexOf(a)][ORDER.indexOf(b)]; -} -export function conflictDebits(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - if (c.leq(f, cl)) - return 0; - return c.joins().filter((j) => c.leq(j, f) && !c.leq(j, cl)).length; -} -export function entails(c, a, b) { - const [af, ac] = [c.rank(a.floor), c.rank(a.ceiling)]; - const [bf, bc] = [c.rank(b.floor), c.rank(b.ceiling)]; - return c.leq(bf, af) && c.leq(ac, bc); -} -export function widen(c, units) { - if (units.length === 0) - return { subject: '', floor: c.levels[c.topIx], ceiling: c.levels[c.bottomIx] }; - return band(c, units, { floor: c.topIx, ceiling: c.bottomIx }, (a, b) => c.lower(a, b), (a, b) => c.higher(a, b)); -} -export { anyOf, missing, statesPerDebit, complexity } from "./6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95"; diff --git a/samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a b/samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a deleted file mode 100644 index 30f61b8..0000000 --- a/samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a +++ /dev/null @@ -1,8 +0,0 @@ -/** - * The format's own names, spelled once: the extension every file of the format carries, and the three files it names - * by it. - */ -export const EXTENSION = '.bound'; -export const LOCK = `TARGET${EXTENSION}`; -export const CAPSULE = `capsule${EXTENSION}`; -export const RECEIPTS = `receipts${EXTENSION}`; diff --git a/samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 b/samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 deleted file mode 100644 index 14430df..0000000 --- a/samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2 +++ /dev/null @@ -1,2 +0,0 @@ -/** How a claim knows what it says is the algebra's order of evidence; the wire speaks it and does not keep a copy. */ -export { weakest } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; diff --git a/samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca b/samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca deleted file mode 100644 index 339345b..0000000 --- a/samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca +++ /dev/null @@ -1,95 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -import { WIDTH } from "./f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994"; -export function chunkCount(n) { - if (n <= 0) - return 0; - return Math.ceil(n / WIDTH); -} -export class WideMask { - words; - width; - constructor(width, words) { - this.width = width; - this.words = words ?? new Uint32Array(chunkCount(width)); - } - static fromTokens(tokens, allowed) { - const m = new WideMask(tokens.length); - tokens.forEach((t, i) => { - if (allowed.has(t)) - m.set(i); - }); - return m; - } - set(bit) { - if (bit < 0 || bit >= this.width) { - throw new UnitError('MALFORMED', `bit ${bit} is outside a mask of width ${this.width}`, { - bit, - width: this.width, - }); - } - this.words[bit >> 5] |= 1 << (bit & 31); - } - has(bit) { - if (bit < 0 || bit >= this.width) - return false; - return (this.words[bit >> 5] & (1 << (bit & 31))) !== 0; - } - and(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - const n = Math.min(this.words.length, other.words.length); - for (let i = 0; i < n; i++) - out.words[i] = this.words[i] & other.words[i]; - return out; - } - or(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) | (other.words[i] ?? 0); - } - return out; - } - difference(other) { - const w = Math.max(this.width, other.width); - const out = new WideMask(w); - for (let i = 0; i < out.words.length; i++) { - out.words[i] = (this.words[i] ?? 0) & ~(other.words[i] ?? 0); - } - const spare = w % 32; - if (spare !== 0 && out.words.length > 0) { - out.words[out.words.length - 1] &= (1 << spare) - 1; - } - return out; - } - subsetOf(other) { - const n = Math.max(this.words.length, other.words.length); - for (let i = 0; i < n; i++) { - const a = this.words[i] ?? 0; - const b = other.words[i] ?? 0; - if ((a & ~b) !== 0) - return false; - } - return true; - } - size() { - let n = 0; - for (let i = 0; i < this.width; i++) - if (this.has(i)) - n++; - return n; - } - members(tokens) { - return tokens.filter((_, i) => this.has(i)); - } - static filled(width) { - const m = new WideMask(width); - if (width <= 0) - return m; - m.words.fill(0xffffffff); - const spare = width % 32; - if (spare !== 0) - m.words[m.words.length - 1] = (1 << spare) - 1; - return m; - } -} diff --git a/samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c b/samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c deleted file mode 100644 index c157030..0000000 --- a/samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c +++ /dev/null @@ -1,55 +0,0 @@ -import { unitStream } from "./8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c"; -export function isMonotone(c, value) { - for (let a = 0; a < c.levels.length; a++) { - for (let b = 0; b < c.levels.length; b++) { - if (c.leq(a, b) && value(a) > value(b) + 1e-12) - return false; - } - } - return true; -} -export function vacuityOf(predicate, structure, c, test, opts = {}) { - const samples = opts.samples ?? 2000; - const spread = opts.spread ?? 20; - const next = unitStream(1); - const n = c.levels.length; - let yes = 0; - let no = 0; - let sawYes; - let sawNo; - let read = false; - for (let i = 0; i < samples; i++) { - const v = []; - for (let k = 0; k < n; k++) - v.push(Math.round(next() * spread)); - if (opts.monotone) { - v.sort((a, b) => a - b); - if (!isMonotone(c, (x) => v[x])) - continue; - } - const probe = (x) => { - read = true; - return v[x]; - }; - if (test(c, probe)) { - yes += 1; - if (!sawYes) - sawYes = [...v]; - } - else { - no += 1; - if (!sawNo) - sawNo = [...v]; - } - } - const both = yes > 0 && no > 0; - return { - predicate, - structure, - samples: yes + no, - yes, - no, - verdict: both ? 'DISCRIMINATES' : read ? 'CONSTANT' : 'INDEPENDENT', - ...(both ? { witnesses: { yes: sawYes, no: sawNo } } : {}), - }; -} diff --git a/samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 b/samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 deleted file mode 100644 index 9a3d2a8..0000000 --- a/samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994 +++ /dev/null @@ -1,114 +0,0 @@ -import { UnitError } from "./0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0"; -export const WIDTH = 32; -export const opinion = (demanded, permitted, limiting, required) => ({ - demanded, - permitted, - limiting, - required, - demand: demanded, - limit: permitted, -}); -const clashes = (p) => p.demanded & ~p.permitted; -const dualClashes = (p) => p.limiting & ~p.required; -const isConflict = (p) => clashes(p) !== 0; -export const or = (a, b) => opinion(a.demanded & b.demanded, a.permitted | b.permitted, a.limiting & b.limiting, a.required | b.required); -export const and = (a, b) => opinion(a.demanded | b.demanded, a.permitted & b.permitted, a.limiting | b.limiting, a.required & b.required); -const ones = (n) => (n === WIDTH ? -1 : (1 << n) - 1); -export function packer(c) { - const joins = c.joins(); - const limits = c.limits(); - if (joins.length > WIDTH || limits.length > WIDTH) { - throw new UnitError('MALFORMED', `this scale has ${joins.length} demand-debits and ${limits.length} ` + - `limit-debits; each opinion holds at most ${WIDTH}`, { joins: joins.length, limits: limits.length, width: WIDTH }); - } - const allJ = ones(joins.length); - const allM = ones(limits.length); - const above = joins.map((j) => { - let m = 0; - limits.forEach((lim, bit) => { - if (c.leq(j, lim)) - m |= 1 << bit; - }); - return m; - }); - const miAboveAll = (jiMask) => { - let acc = allM; - for (let bit = 0; bit < joins.length; bit++) { - if ((jiMask & (1 << bit)) !== 0) - acc &= above[bit]; - } - return acc; - }; - const jiBelowAll = (miMask) => { - let out = 0; - for (let bit = 0; bit < joins.length; bit++) { - if ((miMask & ~above[bit]) === 0) - out |= 1 << bit; - } - return out; - }; - const joinOf = (mask) => joins.reduce((acc, j, bit) => ((mask & (1 << bit)) !== 0 ? c.higher(acc, j) : acc), c.bottomIx); - return { - width: joins.length, - joinWidth: joins.length, - limitWidth: limits.length, - free: () => opinion(0, allJ, 0, allM), - pack(u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - let demanded = 0; - let permitted = 0; - joins.forEach((j, bit) => { - if (c.leq(j, f)) - demanded |= 1 << bit; - if (c.leq(j, cl)) - permitted |= 1 << bit; - }); - let limiting = 0; - let required = 0; - limits.forEach((m, bit) => { - if (c.leq(cl, m)) - limiting |= 1 << bit; - if (c.leq(f, m)) - required |= 1 << bit; - }); - return opinion(demanded, permitted, limiting, required); - }, - unpack: (subject, p) => ({ - subject, - floor: c.levels[joinOf(p.demanded)], - ceiling: c.levels[joinOf(p.permitted)], - }), - state(p) { - if (isConflict(p)) - return 'CONFLICT'; - if (p.demanded !== 0) - return 'REQUIRED'; - if (p.permitted !== allJ) - return 'FORBIDDEN'; - return 'FREE'; - }, - clashing: (p) => joins.filter((_, bit) => (clashes(p) & (1 << bit)) !== 0).map((j) => c.levels[j]), - clashingLimits: (p) => limits.filter((_, bit) => (dualClashes(p) & (1 << bit)) !== 0).map((m) => c.levels[m]), - maskOf(level) { - const l = c.rank(level); - let m = 0; - joins.forEach((j, bit) => { - if (c.leq(j, l)) - m |= 1 << bit; - }); - return m; - }, - accepts: (p, mask) => (p.demanded & ~mask) === 0 && (mask & ~p.permitted) === 0, - above: (jBit) => above[jBit] ?? 0, - coherent(p) { - return (p.required === miAboveAll(p.demanded) && - p.limiting === miAboveAll(p.permitted) && - p.demanded === jiBelowAll(p.required) && - p.permitted === jiBelowAll(p.limiting)); - }, - }; -} -export function canonical(pk, p) { - return pk.pack(pk.unpack('', p)); -} diff --git a/samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 b/samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 deleted file mode 100644 index 57f5c99..0000000 --- a/samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5 +++ /dev/null @@ -1,58 +0,0 @@ -import { witnessesIn } from "./4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9"; -import { key } from "./820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880"; -import { meet } from "./dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6"; -import { intervals } from "./76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e"; -import { live } from "./c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d"; -const spanning = (spans) => intervals(Math.min(...spans.map((one) => one.lo)), Math.max(...spans.map((one) => one.hi))); -export function origins(place) { - return new Set(place.seen.map((s) => s.origin)).size; -} -export function potential(place) { - return origins(place) < 2; -} -export function disagree(place) { - const spans = place.seen.map((s) => s.span); - const split = spans.length ? witnessesIn(spanning(spans), spans) : null; - if (!split) - return null; - const left = place.seen.find((s) => s.span === split[0]); - const right = place.seen.find((s) => s.span === split[1]); - return left && right ? [left, right] : null; -} -export function meetAt(place) { - const spans = place.seen.map((s) => s.span); - if (!spans.length) - throw new Error('obligations: REFUSE·meet a cell no origin has claimed has no meet of its own: read it against the form it belongs to'); - const form = spanning(spans); - return spans.reduce((held, span) => form.meet(held, span)); -} -export function latest(places) { - return places.reduce((held, place) => (held === null || place.epoch > held.epoch ? place : held), null); -} -export function verdict(place) { - return potential(place) ? 'one' : disagree(place) ? 'apart' : 'together'; -} -export function turned(before, after) { - const held = new Map(before.map((p) => [key([{ at: p.at }]), verdict(p)])); - return after.filter((p) => held.get(key([{ at: p.at }])) !== verdict(p)); -} -export function encounter(L, c, world = new Map()) { - return { origins: new Set(live(c.seen).map((claim) => claim.origin)).size, held: meet(L, c, world) }; -} -export const cancels = (a, b) => Math.cos(a.phase - b.phase) < 0; -export function pairs(origins) { - let forks = 0; - let closes = 0; - for (let i = 0; i < origins.length; i += 1) - for (let j = i + 1; j < origins.length; j += 1) - if (cancels(origins[i], origins[j])) - forks += 1; - else - closes += 1; - return { forks, closes }; -} -export function laminar(origins) { - const x = origins.reduce((sum, one) => sum + Math.cos(one.phase), 0); - const y = origins.reduce((sum, one) => sum + Math.sin(one.phase), 0); - return x * x + y * y > origins.length; -} diff --git a/samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd b/samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd deleted file mode 100644 index 12592dd..0000000 --- a/samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd +++ /dev/null @@ -1,17 +0,0 @@ -export function register(c, u) { - const f = c.rank(u.floor); - const cl = c.rank(u.ceiling); - return { - demanded: c.joins().filter((j) => c.leq(j, f)).map((j) => c.levels[j]), - limiting: c.limits().filter((m) => c.leq(cl, m)).map((m) => c.levels[m]), - }; -} -export function rebuild(c, reg, subject = '') { - let floor = c.bottomIx; - for (const name of reg.demanded) - floor = c.higher(floor, c.rank(name)); - let ceiling = c.topIx; - for (const name of reg.limiting) - ceiling = c.lower(ceiling, c.rank(name)); - return { subject, floor: c.levels[floor], ceiling: c.levels[ceiling] }; -} diff --git a/samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d b/samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d deleted file mode 100644 index cafc6a2..0000000 --- a/samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d +++ /dev/null @@ -1,42 +0,0 @@ -import { violationsIn as lawsBrokenIn } from './0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828'; -import { alphabet } from "./bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670"; -import { fromLine } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -import { byBytes, canonical } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { decimal } from "./5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62"; -export const violationsIn = (lattice, points) => lawsBrokenIn(lattice, points); -export const paramsOf = (params) => (params !== null && typeof params === 'object' ? params : {}); -export function refuseForm(id, why) { - throw new Error(`REFUSE·form ${id}: ${why}`); -} -export function numberAt(id, params, name) { - const held = paramsOf(params)[name]; - if (typeof held !== 'number' || !isFinite(held)) - refuseForm(id, `takes ${name} as a number, and a value it is not given is not invented`); - return held; -} -export function wordsAt(id, params, name) { - const held = paramsOf(params)[name]; - if (!Array.isArray(held) || !held.length || held.some((one) => typeof one !== 'string')) - refuseForm(id, `takes ${name} as a list of words`); - return held; -} -export const written = (words) => alphabet({ polarity: 'permit', members: [...new Set(words)].sort(byBytes) }); -/** - * A band a line writes over an interval it is given: `lo..hi`, one end alone, `*` for an end left open, or `empty`. - * Its ends are read by the wire's own interval form, the one a claim's value is read by, and one end alone is that end twice. - */ -export function bandOf(id, whole, text) { - if (text === 'empty') - return { lo: whole.hi, hi: whole.lo }; - const read = (value) => ((got) => (got.kind === 'fact' && got.value.bound.kind === 'interval' ? { lo: got.value.bound.lo ?? whole.lo, hi: got.value.bound.hi ?? whole.hi } : undefined))(fromLine(canonical({ form: 'interval', value }), null)); - return read(text) ?? read(`${text}..${text}`) ?? refuseForm(id, `\`${text}\` is not a band: lo..hi or one end, each a number or *`); -} -export const bandText = (value) => ((end) => (value.lo > value.hi ? 'empty' : `${end(value.lo)}..${end(value.hi)}`))((n) => (isFinite(n) ? decimal(n) : '*')); -/** A band a line writes over levels it is given, `lo..hi` or one level alone: the band of them whose written text it is. */ -export function levelsOf(id, held, text) { - if (held.some((level) => level.includes('..'))) - refuseForm(id, 'a level holds no band mark `..`'); - const band = held.flatMap((floor) => held.map((ceiling) => ({ subject: '', floor, ceiling }))).find(({ floor, ceiling }) => text === `${floor}..${ceiling}`) - ?? (text.includes('..') ? undefined : held.filter((level) => level === text).map((level) => ({ subject: '', floor: level, ceiling: level }))[0]); - return band ?? refuseForm(id, `\`${text}\` is not one of its levels, nor two of them as lo..hi`); -} diff --git a/samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 b/samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 deleted file mode 100644 index 0d5c59e..0000000 --- a/samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08 +++ /dev/null @@ -1,35 +0,0 @@ -import { WideMask } from "./ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca"; -import { entails, fuse, permitAll, state } from "./e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421"; -export function fromScale(c) { - const inhabited = (x) => state(c, x) !== 'CONFLICT'; - return { - top: permitAll(c, ''), - bottom: { subject: '', floor: c.levels[c.topIx] ?? '', ceiling: c.levels[c.bottomIx] ?? '' }, - leq: (a, b) => entails(c, a, b), - meet: (a, b) => fuse(c, [a, b]), - join: (a, b) => { - if (!inhabited(a)) - return b; - if (!inhabited(b)) - return a; - return { - subject: a.subject || b.subject, - floor: c.levels[c.lower(c.rank(a.floor), c.rank(b.floor))] ?? a.floor, - ceiling: c.levels[c.higher(c.rank(a.ceiling), c.rank(b.ceiling))] ?? a.ceiling, - }; - }, - show: (x) => `[${x.floor}, ${x.ceiling}]`, - inhabited, - }; -} -export function subsets(tokens) { - return { - bottom: new WideMask(tokens.length), - top: WideMask.filled(tokens.length), - leq: (a, b) => a.subsetOf(b), - meet: (a, b) => a.and(b), - join: (a, b) => a.or(b), - show: (x) => x.members(tokens).join(','), - inhabited: (x) => x.size() > 0, - }; -} diff --git a/samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 b/samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 deleted file mode 100644 index 3de28cc..0000000 --- a/samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261 +++ /dev/null @@ -1,53 +0,0 @@ -import { byBytes, canonical, parse } from "./95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c"; -import { ENVELOPE } from "./5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e"; -/** - * Project already admitted, folded configuration claims for publication. - * This does not admit claims or fold history. The containing artifact supplies integrity; - * public-key records retain their signatures, while other claims lose delivery envelopes. - */ -export function publicationOf(live) { - return live.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - const fields = got.value.fields; - if (fields.value === 'withdraw') - throw Error('REFUSE·publication a withdrawal is history, not standing'); - if (fields.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (isPublicKey(fields)) - return canonical(fields); - const semantic = Object.fromEntries(Object.entries(fields).filter(([name]) => !ENVELOPE.has(name))); - return canonical({ ...semantic, by: 'target' }); - }).sort(byBytes); -} -/** - * Recognize a public lock without granting authority or verifying public keys. - * Signed delivery history returns undefined for the ordinary authority reader. - */ -export function publicLock(lines) { - const fields = lines.map(line => { - const got = parse(line); - if (got.kind !== 'fact') - throw Error(`REFUSE·publication ${got.why}`); - return got.value.fields; - }); - if (fields.some(record => record.sig !== undefined && !isPublicKey(record))) - return undefined; - for (const record of fields) { - if (record.type !== undefined) - throw Error('REFUSE·publication object history needs its semantic projection'); - if (record.sig === undefined && record.by !== undefined && record.by !== 'target') { - throw Error('REFUSE·publication unsigned delivery signer'); - } - if (record.value === 'withdraw') - throw Error('REFUSE·publication withdrawal in a public lock'); - if (record.sig === undefined && [...ENVELOPE].some(name => name !== 'by' && record[name] !== undefined)) { - throw Error('REFUSE·publication delivery envelope in a public lock'); - } - } - return [...lines]; -} -function isPublicKey(fields) { - return fields.scope?.startsWith('keys/') === true && fields.measure === 'public-key'; -} diff --git a/samples/typed/fixtures/history.txt b/samples/typed/fixtures/history.txt deleted file mode 100644 index e403599..0000000 --- a/samples/typed/fixtures/history.txt +++ /dev/null @@ -1,51 +0,0 @@ -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/device sig="ed25519:sample:VsMkP6U+BRADaoGYB4DoTba8TzGsIo7ZwQDsMMQxNWD7Cr7jLvUoGLrr6QC4u08w/fjJ1X4kfHHQXFVgnDdeCQ==" value=authorize -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=coverage role=writes scope=keys/device sig="ed25519:sample:UH1x6X4otZ5vsrscszJu2fUvgMffXm3Dzu0qmbBiMWm5/aDWD5DfxjcV92/YZnxho+z55C7DuCNM/oOaRZzwCQ==" value=* -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=public-key role=writes scope=keys/device sig="ed25519:sample:1TorNMceIKYuLAx7Maz16HxLQcYTpbrfTQK7rcFKWmSdaOLOp7k/fB1jPOgYOa491Liy5thLpOLEnF8FXJZaBA==" value="MCowBQYDK2VwAyEAG58z6dZIvmH52AzAoqqGA7M7jcoViAB3M9CsqWN912o=" -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=signer role=writes scope=keys/device sig="ed25519:sample:thYcTjOhMvybi/48CuMpa+uaQSTar6FnA4NqSqAuvnCWtA5NCsdI9qasBveoXFi0ZXeH+fiWWnDj96y9f3m5BA==" value=file -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/reader sig="ed25519:sample:oO1b1jgrfmlAEJKulSyBDIyZS5rfUz2DUPCVPofBhnND6nH91kfEzeUSTGaAurxBbJtax9bKtOy7WcMJVPiiDw==" value=read -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=class role=writes scope=keys/folder sig="ed25519:sample:DAhd95faMyJ2YlOBqma00TGHylmhmgEW5YzPgrXveXUNH9D99CXFTMenxcqXjr1s0uuEAkhEdNbwqItlCc/ABg==" value=fold -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig="ed25519:sample:bXi1tfTzDsqEQH5LrptXEvOFEhbAQj2Ee3FKht5PXQQR2ZgWf99pJ9k8QVvzGhfQtsLDa1ZX+2ym/Esm9tZBCg==" value=5000..5000 -bound-lock/1 at=policy:sample by=device epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig="ed25519:sample:Gjg/xp919EPHNijaKKRczOdZqlt28mIINUnSmJ2Pjo7G2fGe098/S7kJxUo9ZAuhQW/tgXAwTKLOoDt05pYBBQ==" value=65536..65536 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig="ed25519:sample:hZbpUdp1GN28hqSBfdZdG6iHfpB4f2RhZvYyBOFXdfTHJPkJrtmxKqNpmM3iqp9FGM11+GwkBYAp/qKU0SJuBQ==" value=sha256 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig="ed25519:sample:N5rks83bP7kTRvu6DJrkcFXUViALywXSXZpXenyr57zhPpJLTV8nMm8e0S3bmO3dkjcbbBL3RunyYhX1fRlnBg==" value=ed25519:sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/era sig="ed25519:sample:Ba5sEbIxx+eaGKQ65SAaW0iLl2NRL++GOVlHgxt2mVcSP5zY/jBQ68q7lTimw/GbUEGW62RQGEuH4RQ9LfcKBA==" value=sample -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/families sig="ed25519:sample:yqUYSuUBrmLCaRxUs49bJw6GZ4UR+AZEIqFVCrfCuCL84iIEEgl5JmFsGY5idBU4TNai7OL73RB5c8HLW8vvAQ==" value=B|C|D|G|keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|evidence|uses -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig="ed25519:sample:ffijhWun3u3KqEophc/oN+L725CXIeIyGrWFRBGcQ3QSmB7dJIn7ZKYqhWhpwZP1T4EPg1W5twEKbmpPFm9DBg==" value=alphabet|interval -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig="ed25519:sample:mWoFJNA9k14CVpfhriutqyspZndpCYZ4Qa6C8R6qYvw6fBWXYpL6yhoMaUWO7jZ1v8E/t0Mb5tzCQ2EfGOCQCw==" value=reads|writes|demands -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig="ed25519:sample:wKd4krKKtjM1zUCrnPAEz7YM7mKkjjrtIA7jUG+GmxzBYvazVN+yNSgr775nQHGSdYBB4bLrwO5Riu0HgOYZCA==" value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/receipt-inputs sig="ed25519:sample:Rv1xDwk7JPlTw+PMy0poMEp3i6HVj1j9pB2waWY5Lm7Lk+h0DvYOJd9uAWLYx03Q0s0Qpnm4Zms2sWgU9gbACA==" value=semantic-live@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=writes scope=wire/region-measures sig="ed25519:sample:mYoqaxxcBWvVq+Ix9Vyap3mbfEJMT0sloxIJJB+X6QBM/uLW8AIOHtii0Dbzsp6JQL/qzV7Xct1mqFhxXzzvCQ==" value=coordinates|leaves -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=id role=demands scope=view/cells sig="ed25519:sample:P/bVWbvpKUKf1PWCXyzV9qSnW8KktwJZOELfwl5PeneMtPqYJqauvLa4hMBI+PK7Jfa8KIh85gS2KH0yw3yQDw==" value=cells@1 -bound-lock/1 at=policy:sample by=device epoch=1 form=alphabet measure=digest role=writes scope=uses/sample sig="ed25519:sample:F2bCnHhNkTB+8PmxdGW3asEdmgT73j8lzWslBn8dCbqj3eROum6PVxltcdZz4mFmtbFVnfjR0Zk7S8vwoWeaCA==" value=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/fields sig="ed25519:sample:o+wWHYYwlL7vFfx5zl1NBfxpD0xGuhJJ+IKU9/0wfCDzZevbHyyh8zZLBiS46MLj5mFE09c3bokZrRpwubJVCQ==" value=about|at|by|condition|epoch|form|id|kind|measure|needs|origin|params|pole|reach|restsOn|role|scope|shape|sig|sign|takes|topos|type|value|view|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/required sig="ed25519:sample:I+kr5rGhcBz1HyvpQgEpPWbN0mMP68lohQI78zKn6HcdvO32hVVmRsc/sMfhGmy7IyTqAfwbD49OhOwu9ehYAQ==" value=at|by|form|measure|role|scope|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/types sig="ed25519:sample:8/4PzKXSePJ9eq9T94TzCJcY4XrGZNR0ptU3yengVSCZowa5l5DlMoYqIF6Zy0namKWrigfA/lTmmVH03gEnDw==" value=cell|claim|mark -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/common sig="ed25519:sample:xEpVAfxv3Ctvf4NX6gLp+K9OhQsLEsTQtKB6HsxPgzu4YWaofLnGSBEMVj2ke7ayz2tL6RzRy4htGwYyImUeDg==" value=by|epoch|id|scope|sig|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/reserved sig="ed25519:sample:lRT/oGnookdwLPVEl0k60ldCyx7q4JLdloZoU9aSxKNfb2ibOoyD9MeHy/uAvB1CYo2q0jNgBBqP8zYFaeQzCQ==" value=id|origin|params|pole|reach|sign|takes|topos|type|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/config sig="ed25519:sample:X03eNiBB1a96Not9WjtuvXKlyd6J3R+AI9ji/HVNKiANgQP07xVi1QM/6gu2YEkRUoPv5WXJ+/2G/4KPwOACCQ==" value=about|at|by|condition|epoch|form|kind|measure|needs|restsOn|role|scope|shape|sig|value|view -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/cell sig="ed25519:sample:M29F13rqDhquAgmF9MmBPl8Jy5ccbT6qgcHuynZgTXGJ3/SZTnc8snajSG7V9dc4s0EiWlNFaqTC0/FEJnoxAg==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/cell sig="ed25519:sample:9bSdMTSfgdfF24WBKNigUn4poshvgsnD0HQTW45h8Hf8WHc1UQvA9AkhBI5ZktEWlv8hwpsIRgI5zXKV8burAA==" value=by|epoch|form|id|measure|params|restsOn|scope|sig|topos|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/positive sig="ed25519:sample:GGc07B5DXZuUNVhx9yiIvawmANp6ko+ef3nJtQ3IzAP0FKw7PvTb1r7RgZCClKIzqCmu5y3BizGDj6SfD6IXDw==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/positive sig="ed25519:sample:K3d/XQlaU3wyu1TamBA/+VJSfy1KmsFViXBmpBt9MnF+6g9hOnZrWoMl0+q9J1/f6v8XqfKtsr6QJQUSjAAtCQ==" value=by|epoch|id|origin|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/claim/negative sig="ed25519:sample:0XdwE5in0cHtGcY96AaogV4vTJ2D4+jXKbXXL5Aw8aKLsH0ZHMEhZt7PxS5W/koDB920k72r05cFmD8pGbI/Dg==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/claim/negative sig="ed25519:sample:TFx3TyIzNst7CuXba7/Hq1vpWf+KrQiQcijBFPm7SIP+PaFCDG9dOmpvagLUJyjrY4vlUzubyoYAzxcSEW7OCQ==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/travelling sig="ed25519:sample:EONV3/ikDi2bV5PAA/ToMVbCsxqkXGUKUOI+YRvl7vNbKbZwJYfxlx8rlR3NP8XfkL4Yn5JmaFSRsFNb1FY5BA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/travelling sig="ed25519:sample:OARj4SOVCowLNNI+4mJfFtlnfoRpcfs26HWzwmBh6JPR2BWJxYfO5L8fSZkaONkTigpIdtybuoqCfCkQFBbRBQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/local sig="ed25519:sample:CRtmIQJ3khj1P3k6b3Vtipysxoy918f9qPKraeOSWFCvaz2PFIida5SSEr9BpWnZDlPTT1TcWAc+7wysnqBtDA==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/local sig="ed25519:sample:LqtTwRzTxsaFsa0KF/n77o0ACCn6mwF++CznrZYAGy/9dovskoSy1768qg8dwQ1WWCacxMyr4K1b/2DEAM4CDg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value|widens -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/floor-travelling sig="ed25519:sample:Uoc30znLb46hGPYB1MgWb3VEUrNghqVecXRV1o3hCLya2Ou3hx6wiwAzCMNe2xqymHhm20c9+A0cqVS6J29qAQ==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/floor-travelling sig="ed25519:sample:dQUd3oMsSZhsv9cLP4DeIb2WtrKpkYkPawyzXFzV89zfP2wq8ZRvtg7WfOn/44FBx99kCDT9QRdvTkRibvZ7Bg==" value=by|epoch|id|pole|reach|scope|sig|sign|type|value -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/required/mark/negative sig="ed25519:sample:ZNEvf48U2+y6Ed9YOp1Sn+PGMl/IaqAOlvo/O99YS7HCX7cDYMGwQJIFD3IkxOiPmkxncebZzVkwyCAlVRPZBA==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:topos/fold by=device epoch=1 form=alphabet measure=id role=reads scope=wire/object/allowed/mark/negative sig="ed25519:sample:thQzCswmMWejhRISHPKxIJu3+v4hCAiQO74RDly6FBSY5nFobbN6MwdmIUBz8XVQ1q1zaQD6grPeBNll+gAaBw==" value=by|epoch|id|scope|sig|sign|takes|type -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/ana sig="ed25519:sample:Fzmvbkvoh3UCsDWi/RMJwtXPU+WMJL8ss+5LBdSvnppI5Ggtz5DB6FgZfNzsHniHwLqw3JeUAUyZPbh7AzLTBg==" value=ana -bound-lock/1 at=policy:sample by=device condition=C epoch=1 form=alphabet measure=id role=writes scope=evidence/origin/luis sig="ed25519:sample:cvmxOyXZv03mJAQ1dwb1RLw8LfVXk6FmfFS2OV1IpPunjUWd0HJevgjCZsySjkB2695O4tHo/DbcDQ58s7smCQ==" value=luis -bound-lock/1 at=policy:sample by=device condition=B epoch=1 form=alphabet measure=id role=writes scope=evidence/witness/local-opening sig="ed25519:sample:GlqfSxkzEXDY1uxAzmaARbuGEcIkzdyZj3QVnQFH/fLlo+QZO5+9rlJQ6kazMT1/wgbsAlprFIrBhKC09D5gCw==" value=local-opening -bound-lock/1 by=device epoch=2 form=interval id=def-B measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=B sig="ed25519:sample:NIwEnFZGrQBr3wpjlRxE5ds0wle5q+ydvbjemY/HaKPluUBGuZub8XeQmUuOWtdgt1ZOl/ucU1fMiAoxMOKaCw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-C measure=count params="{\"lo\":0,\"hi\":100}" restsOn=B scope=C sig="ed25519:sample:JJpJd9FJXEDpdWKTIENvmrWDyEcvaG8W9Mwikfj6q5Lrmck7p0lCmA/9Y6gTg2J3tkPXy6ytl+AuzI7O+fp9Cw==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-G measure=count params="{\"lo\":0,\"hi\":100}" restsOn=C scope=G sig="ed25519:sample:q+o62aJE9w8/sZaPc+w/cHc64rVvWmk+Ng8hYYD3FMPYnIPpzRYiSyAxUS6PRaV4oZ+IHDz0qQymcE6BYG/KCg==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=2 form=interval id=def-D measure=count params="{\"lo\":0,\"hi\":100}" restsOn=none scope=D sig="ed25519:sample:xZVl486j4WvmQybJ0pLi/Uuv7tFOl8ju0e8n4rBL4Hhvnak/j/qTlSVfILTKT0ZehxyhXWOHZlLYEAle7uIzBQ==" topos=sha256:33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3 type=cell -bound-lock/1 by=device epoch=3 id=s-B pole=ceiling reach=travels scope=B sig="ed25519:sample:vVBOw5CT0eVKRUITqkoqOm4c5kIX6Y5/UK7Jxu5LvUhC6FJfSp+FMvpSIuA9lj6vZuG8wefUVyaFLdzwwWjgBQ==" sign=+1 type=mark value=0..50 -bound-lock/1 by=device epoch=4 id=j-B pole=ceiling reach=local scope=B sig="ed25519:sample:ijOF/I2q5cwFa5DRNi2bc1McDR7zBmW8LgdfDse1wPsEfAvaFgNshepAPPaN+SjUq+qFetqPQLh6CxJV62l9BQ==" sign=+1 type=mark value=0..100 widens=local-opening -bound-lock/1 by=device epoch=5 id=r-B pole=floor reach=travels scope=B sig="ed25519:sample:WDY5Ggd7Dgrj1VyxfTk1dQajv8Yy5EslNAvsrQxQE9X9ygA2paywJ118kKgwYAmt6eyIaep3sdJLN3xY2gN2CQ==" sign=+1 type=mark value=40..* -bound-lock/1 by=device epoch=6 id=c-C origin=ana scope=C sig="ed25519:sample:LWaUxfRb/3UZqnBXHjSU6TwmrCnoXj9B57L3nPqR/+262RzgcP908oy/96oPBorgLgOR6w+TAa+Ix/cWYJPDBA==" sign=+1 type=claim value=42..48 -bound-lock/1 by=device epoch=7 id=c-L origin=luis scope=C sig="ed25519:sample:CU8QiykxIw3+WFTzZQ0NhOgrciXOc40twB69Y/4Qf/NmRkBtJt/GizqfMLgKXuvWqL5KwVbUaGVY1/mH+FcgDw==" sign=+1 type=claim value=44..47 diff --git a/samples/typed/receipts.bound b/samples/typed/receipts.bound deleted file mode 100644 index 6e6f9b4..0000000 --- a/samples/typed/receipts.bound +++ /dev/null @@ -1,9 +0,0 @@ -bound-lock/1 at=place:sha256:ab1c7ed767de15ce54fd1d2dc00c9b56b278b780132373153be0ac9f5c8dccb4 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:b815a508a9ec9615d902f914c3cd88ab1dad8f1abd244ed48153b1e27f727e91 -bound-lock/1 at=place:sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/D value=sha256:06ad0e39e34e6c6b3cf48d103d7d5b637b449b8bae89c949e7209c8e81d4ffb3 -bound-lock/1 at=place:sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/B value=sha256:0b2ed76926c39b729ec527e4b50b2eb091f04616063ee4c29ed57e3d2422a97d -bound-lock/1 at=place:sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/G value=sha256:23284a5cb653e94ac14cf0df6746da36a558bbbae0549554d325ab3805d52714 -bound-lock/1 at=place:sha256:243789281935be918094ae0e376ddee05430077c762ea3a6af915669f8cce09c by=bound form=interval measure=count role=writes scope=receipts/cells/D value=1..1 -bound-lock/1 at=place:sha256:315da1f7ef26f23d7172a1ca8001e51f75127d7a26c0799d9e0c861b14d799ba by=bound form=interval measure=count role=writes scope=receipts/cells/G value=1..1 -bound-lock/1 at=place:sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d by=bound form=alphabet measure=bytes role=writes scope=receipts/cells/C value=sha256:a46d49c09d965408c5d5f48bcce2c8e1fffcdfb7160d547b1e1cfbe9aa82db4d -bound-lock/1 at=place:sha256:e0e4a8a878d71a125dfb244a822e3288d6d5e9217d7505454161ad4ffc357a80 by=bound form=interval measure=count role=writes scope=receipts/cells/C value=1..1 -bound-lock/1 at=place:sha256:ea15efc6955fa969574337a4e50782acabec6831e44b9f527627364e1abf88e8 by=bound form=interval measure=count role=writes scope=receipts/cells/B value=1..1 diff --git a/samples/walk-publication/inputs/001-left-conflicting-wire.bound b/samples/walk-publication/inputs/001-left-conflicting-wire.bound deleted file mode 100644 index c4bbc05..0000000 --- a/samples/walk-publication/inputs/001-left-conflicting-wire.bound +++ /dev/null @@ -1,25 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/002-left-context.bound b/samples/walk-publication/inputs/002-left-context.bound deleted file mode 100644 index 4bf5b13..0000000 --- a/samples/walk-publication/inputs/002-left-context.bound +++ /dev/null @@ -1,24 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/003-right-conflicting-wire.bound b/samples/walk-publication/inputs/003-right-conflicting-wire.bound deleted file mode 100644 index 5dfe2b1..0000000 --- a/samples/walk-publication/inputs/003-right-conflicting-wire.bound +++ /dev/null @@ -1,25 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/004-right-context.bound b/samples/walk-publication/inputs/004-right-context.bound deleted file mode 100644 index 074f2e3..0000000 --- a/samples/walk-publication/inputs/004-right-context.bound +++ /dev/null @@ -1,24 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/005-left-local.bound b/samples/walk-publication/inputs/005-left-local.bound deleted file mode 100644 index 5ac673b..0000000 --- a/samples/walk-publication/inputs/005-left-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/measurement value=left diff --git a/samples/walk-publication/inputs/006-right-local.bound b/samples/walk-publication/inputs/006-right-local.bound deleted file mode 100644 index 73e3261..0000000 --- a/samples/walk-publication/inputs/006-right-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/measurement value=right diff --git a/samples/walk-publication/inputs/007-right-inventory.bound b/samples/walk-publication/inputs/007-right-inventory.bound deleted file mode 100644 index 7c4df01..0000000 --- a/samples/walk-publication/inputs/007-right-inventory.bound +++ /dev/null @@ -1,2 +0,0 @@ -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:sDd+9GtDxiOArPiq2h4dHeyZtGfKsfa8qxkhcyY+AbTKJCs4gW9AFY2FwJTJeNaT4lzjV0b/U3No8ppICMORDA==" value=sha256:65f1bca9e9df0b7af88fcba5a45c294b8a18c37daaa5b929686aff25d0ca1944 -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:HwubtQqshDeaAQcub16UA43XoXxwNf3XzXVvpMowE4xfSt7HHsZS3LDOnVt3FEHhXL2LWY8uHDexBDU+2Qu9CQ==" value=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab diff --git a/samples/walk-publication/inputs/008-altered.bound b/samples/walk-publication/inputs/008-altered.bound deleted file mode 100644 index 992139c..0000000 --- a/samples/walk-publication/inputs/008-altered.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=altered diff --git a/samples/walk-publication/inputs/009-partial-payload.bound b/samples/walk-publication/inputs/009-partial-payload.bound deleted file mode 100644 index 2b3cdc2..0000000 --- a/samples/walk-publication/inputs/009-partial-payload.bound +++ /dev/null @@ -1,3 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 diff --git a/samples/walk-publication/inputs/010-outside-prefix.bound b/samples/walk-publication/inputs/010-outside-prefix.bound deleted file mode 100644 index 631d9c6..0000000 --- a/samples/walk-publication/inputs/010-outside-prefix.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 -bound-lock/1 at=policy:walk-fixture by=left epoch=99 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:AgeSLpdKM1q8IvnM6rMij1yEnLd9r4CCTH+z50h1jXAghH1wlHVGo/4g9pk0Y1ueOsaIeCtOAqTgs+QGHR0XAA==" value=left diff --git a/samples/walk-publication/inputs/011-unauthorized-prefix.bound b/samples/walk-publication/inputs/011-unauthorized-prefix.bound deleted file mode 100644 index 83b251a..0000000 --- a/samples/walk-publication/inputs/011-unauthorized-prefix.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=outsider condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:c3mwdr6/ig/heo5tIrh8Gs8aViBJ+3EWDwaMBgio6mQ6CKA4lnk+mkqvWGJI1radNo3LzcHft85mMhsGWjFhDg==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=outsider condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:N9LJ7H1PGVLiZ2vru2tLTqfwSZRVI93IOMdZAuX3/vB7jf5YMQpo6gaDMMkblIl3ZaSpRDLtn5k4cVzE/TDmDg==" value=1..1 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=outsider condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:VZmosMSQeLp3HQFtC/LCfPWOe+pgQv/4xI31B0tn+Zm6A277BazO3pCCYIk6sygQ2qVbnvts/qoElDatrdzPBA==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/012-stale-base.bound b/samples/walk-publication/inputs/012-stale-base.bound deleted file mode 100644 index dc0cf78..0000000 --- a/samples/walk-publication/inputs/012-stale-base.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0000000000000000000000000000000000000000000000000000000000000000 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:ymP21/Q5sIBF9Q+z3XTa2DtPnH+dbIaL9wqTBhVUJhPZaV5jEeYOfqQ4TbbMO3LwKCuJMa1/7AhXKEMpNocpBA==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/013-left-payload.bound b/samples/walk-publication/inputs/013-left-payload.bound deleted file mode 100644 index 4a67e48..0000000 --- a/samples/walk-publication/inputs/013-left-payload.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8twn1Hh6xaqC8gwsch+CADZMMxY/BCygM5r7EagXiuSlYcqqTw4ushU/HHqC9NMgle5qBZtQMXnIrseg9jHBg==" value=1..1 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:/bSel+rRKS2mxoXluGVjg48pRlOyzuHLLRzYzuCUsGR1OxPPoXzJ9/5szEo9pcLz0dsN6NRYYRZXuLzaXYSoAg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/014-missing-earlier-prefix.bound b/samples/walk-publication/inputs/014-missing-earlier-prefix.bound deleted file mode 100644 index 561b3ee..0000000 --- a/samples/walk-publication/inputs/014-missing-earlier-prefix.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:3c516656329d0c84cce5c71aab05f12b35a692f9857cbb9f1027a84ca7fa55eb epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:RahqHSWL5zhVq/HJtsXjGFjyvRtJh+wS94MQ1rRQpPZck9TfaY6g0O/omonzGrer6Vj3oeGVoHFEE1xS48+HCg==" value=sha256:aa531dc2c813513042fe0b42cf6a002458118deed81722804f29e357fe857909 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:3c516656329d0c84cce5c71aab05f12b35a692f9857cbb9f1027a84ca7fa55eb epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:9zlVcvsk9jYjpNJjW5roMrghtb+8Qj3+JYW6zOfBwZtT0XxaBgNVSnhbhLpO4aYQ1IBYU5Fm08riPPKX7JFRBg==" value=1..1 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:w+j1Q3IruUXF+lhZV24570XfhZE+Y4p1kjBtdeE/Wc58zyQvIa83LaCMk6TUCb8Vp4ZYfslvts/0NIik3A0UBw==" value=sha256:3c516656329d0c84cce5c71aab05f12b35a692f9857cbb9f1027a84ca7fa55eb -bound-lock/1 at=policy:walk-fixture by=left epoch=3 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:qoWI0BkAOqWBjrhPfBc7in7v2qUFHX4uRYpPmCDOg95K1qSlilUocMG7gCNT4Vi4HirMZFUXz1t/Rv2gHAo2AQ==" value=replaced diff --git a/samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound b/samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound deleted file mode 100644 index 0824fb9..0000000 --- a/samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:6fd81f9a938c2efea4831490b4cc6c89347d5c81f6186dce91c3ed9c31030311 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:DTNTMPGy4nDV1TP9ThSpX0ad56BbauABJrQF75mnDf8r+R3WAO1+hDybGOiothxDEMHCvA53vz0UqONy22LcAw==" value=sha256:99fb51aa4feec472fc323f51fc2eff730060c4093ed4ca2a7fdc7a21276734c9 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:6fd81f9a938c2efea4831490b4cc6c89347d5c81f6186dce91c3ed9c31030311 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:YCrhsPDnoebdRzt+17WkO1wRTGVJjp7q5YmBOjWP6MNlT21pwofqBoJRTdXPai8zEOHqKh4UhyzT04Xu2AK8DQ==" value=2..2 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:B0YFE0E6kTPLJR0/TbXGc0yq/Yph+ohHg0MAz1oRyEqwcFqwSrtbgd3GpyjakKImkDy25ohCmrL4Av2dDEbECQ==" value=sha256:6fd81f9a938c2efea4831490b4cc6c89347d5c81f6186dce91c3ed9c31030311 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/extra sig="ed25519:sample:pLkYsC9mSLd6RG3vQOEhlyzN8F/h6Pt58f2nVhULwdA4p0m6yP+AY93YdWq9s+sBcna0SIoRQDE74zU66etnAA==" value=left -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/016-right-acknowledged.bound b/samples/walk-publication/inputs/016-right-acknowledged.bound deleted file mode 100644 index 6c9dfa2..0000000 --- a/samples/walk-publication/inputs/016-right-acknowledged.bound +++ /dev/null @@ -1,3 +0,0 @@ -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:SE1p5Jl1qBRMZ8lPO2bd1Dw1vf9kYQCsN1ieEuDvQBXxeOaczuuHcHsAxrVrZEZyraNov2RCp9+5kHlevKXFCw==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:IDK0Qu3gUM/u2GxyYCXDPypfiv9vMb+6e0zahnjyH5euK15PWQAEosgbEj/htiC6XZGzaKH5shl+R0PdEAsZDg==" value=sha256:65f1bca9e9df0b7af88fcba5a45c294b8a18c37daaa5b929686aff25d0ca1944 -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:1TPDCHvlU3gVG+uyuh4nkTC1UPZmHAKaUltCN0qEgUVa6VWyUMnsTjcUke6MbsTNC0XLy6BmuwNOOenlX1eWCA==" value=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 diff --git a/samples/walk-publication/inputs/017-no-payload.bound b/samples/walk-publication/inputs/017-no-payload.bound deleted file mode 100644 index 11e1161..0000000 --- a/samples/walk-publication/inputs/017-no-payload.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:a79a3b7c210f202544394eede39d786214a660e226d2751175c3677516813b23 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:jYXzCJixyJG6vZ5/YY8m9d1Sdo8U6QzBTLRCdBE5BfiZYXThz2X5TB2YKKJMhM0spiTNfi4zN6I7k3BX5Y7KDQ==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 diff --git a/samples/walk-publication/inputs/018-left-inventory.bound b/samples/walk-publication/inputs/018-left-inventory.bound deleted file mode 100644 index cda7011..0000000 --- a/samples/walk-publication/inputs/018-left-inventory.bound +++ /dev/null @@ -1,2 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:3RRQB5gfxM2S4g2B8cgDb3cbSpthv5k4bznTxPV1sF8PVXBGTzcnw3+b9fIEa6XSXEcpNzAIumT52+lQi5ahBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:0SeBeq/z2xk2LngFGQySyKEipM44L+/aBKJnWrAGSU/1wPrCLPiEzw0rRiITYcessguTHgCxkWqLmQ6iYcUwAA==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 diff --git a/samples/walk-publication/inputs/019-right-payload.bound b/samples/walk-publication/inputs/019-right-payload.bound deleted file mode 100644 index 44906f2..0000000 --- a/samples/walk-publication/inputs/019-right-payload.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:YzrOnR9tOemc0hHvo1WL6y+xX4EOXQMYOueSJyTNVkosLqY9OOOpclTUkhW7PON/aaV2hit1jlDlImDsrdBeAA==" value=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:6DSOLHSYGi590K9wzCKqfleF1EgwDvIUkCbye8epf5W/kLVr7GSAZDzWn5/D+OE135GunH4mzcWmnTeKe02EAA==" value=sha256:65f1bca9e9df0b7af88fcba5a45c294b8a18c37daaa5b929686aff25d0ca1944 -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:0OqlV0n6gcMA6d1upbqk56a5/1OVQ2wI5BMMAyCkYsfQWbF2zpfkPLRFrLbkoHfUqVaFgofNjf6Eodw2ERDMBQ==" value=1..1 -bound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==" value=right diff --git a/samples/walk-publication/inputs/020-next-local.bound b/samples/walk-publication/inputs/020-next-local.bound deleted file mode 100644 index 4271257..0000000 --- a/samples/walk-publication/inputs/020-next-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/after value=local diff --git a/samples/walk-publication/inputs/021-alternate-origin-context.bound b/samples/walk-publication/inputs/021-alternate-origin-context.bound deleted file mode 100644 index cdf8f30..0000000 --- a/samples/walk-publication/inputs/021-alternate-origin-context.bound +++ /dev/null @@ -1,25 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/022-select-alternate.bound b/samples/walk-publication/inputs/022-select-alternate.bound deleted file mode 100644 index 77e576a..0000000 --- a/samples/walk-publication/inputs/022-select-alternate.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/alternate value=sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 diff --git a/samples/walk-publication/inputs/023-undeclared-context-lineage.bound b/samples/walk-publication/inputs/023-undeclared-context-lineage.bound deleted file mode 100644 index b5afaf1..0000000 --- a/samples/walk-publication/inputs/023-undeclared-context-lineage.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:Y8WPW0kujMAELe31qSIj8ZSYF2g3Ur4voOlWdgFe/GBADaVcoVuQrSDcxk3BlJ9lItPYTk+g1AF+UBdktfryBQ==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 by=left condition=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:9givZCRLSnaLQTR0HGl/X3fDvQwmgiGV2qBLFD2YYL+3J0WDT9WKTMRw0Zm9+tokF5YfPMj1FLE1AY/FLor/Dw==" value=1..1 -bound-lock/1 at=receipt:sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 by=left condition=sha256:dc1e48bca36245af9325e0a30284182fd0f5211b981a917ca8514e64432db8ab epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:s8ZXSvSXXgmUnGrf01uPwgMdnsZI++1VsQkH6h5xc4FPZWVXD3pNpOelq6bqi2tFK+XcJ0V+Wcsc8o3AbF/DCg==" value=sha256:0be9701ef2b12c7df672c14d1707611ecf678d9e706a9cf8ffeb1e8c7e7297b5 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left diff --git a/samples/walk-publication/inputs/024-new-left-local.bound b/samples/walk-publication/inputs/024-new-left-local.bound deleted file mode 100644 index 0a3dd40..0000000 --- a/samples/walk-publication/inputs/024-new-left-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/new value=next diff --git a/samples/walk-publication/inputs/025-right-final-inventory.bound b/samples/walk-publication/inputs/025-right-final-inventory.bound deleted file mode 100644 index 60b7371..0000000 --- a/samples/walk-publication/inputs/025-right-final-inventory.bound +++ /dev/null @@ -1,3 +0,0 @@ -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:XtMznxgrLeZ4tA9ybQClgpPaDR1mUafBzJ7ihc7r1TigBzXxF15x/1eBqnfUsTKx57lsoz9etvZYb3wmQuCxCg==" value=sha256:4d936594b35f7f7f0e3b844cf38a1ba2e033146800ee13f5edba6f428534826c -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:35mRRMTWUVVD7xDB6YOqN9jSqkiptPE937VePcqwqJA812k6/nGtaWA/ywSAXMv0vFnZI5/8e3/zL0xvHuo0Ag==" value=sha256:c392db73273808c97e800a6511b0e50e2e0cb9c842d154abee8a272f2864e825 -bound-lock/1 at=receipt:sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=5 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:rr43MWwfR8wjdP3QrBrUrh+8fGVZ9LGTVJoyf0Hg0A7Rru8O7qBaBYZqjTX8tIkbCylRoEReTWjStkYeZIuZDA==" value=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b diff --git a/samples/walk-publication/inputs/026-interruption-payload.bound b/samples/walk-publication/inputs/026-interruption-payload.bound deleted file mode 100644 index b4422de..0000000 --- a/samples/walk-publication/inputs/026-interruption-payload.bound +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:4776ab337d6b054e1535159548dc6ac66ce5ac8ba8e8bf11b2119fc69c2f6d12 epoch=4 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:IvuAF5nbNcfvE8EbtES4a78+94XSJn0xMVVaRSTciZ8Y8pRvNYAsm4nZ+Uo4F62EofQNjSgU3yQsyW/J5oGsCw==" value=sha256:520e3dbf751b8ecf59567b041811cbab9ec818068d689f2efccb9b993618961a -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:4776ab337d6b054e1535159548dc6ac66ce5ac8ba8e8bf11b2119fc69c2f6d12 epoch=4 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:9fV/chTTvt4udb1AfUN5S9u9gYeJC6ATY4PmD8zt/NoAf+F7bdQxF5m9j4erzS9p8yabsoYsN7hpC+j6lPy5Cg==" value=2..2 -bound-lock/1 at=receipt:sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf by=left condition=sha256:ca7577078770a80cba1e3c0b13c2f5019556879335a160d9c50346b4261cfb6b epoch=4 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:O7i1U8d8IwSD1NUwpGZFeWky0P97CWDCtBOWqM9n1sK+cfcQolSRNMdS/PBrw0S7qnTzGfWb/GoYhdun/fixAA==" value=sha256:4776ab337d6b054e1535159548dc6ac66ce5ac8ba8e8bf11b2119fc69c2f6d12 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig="ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==" value=left -bound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig="ed25519:sample:7wIO3vRnI1l0mZrKq/mFcexpQMyJfK2sLMHCJGlWofJVIoNuy3oiQGNGLTiNVEXeqr74kMW2MqMKyJh+dm+qCw==" value=next diff --git a/samples/walk-publication/inputs/027-left-conflicting-wire.bound b/samples/walk-publication/inputs/027-left-conflicting-wire.bound deleted file mode 100644 index db1e337..0000000 --- a/samples/walk-publication/inputs/027-left-conflicting-wire.bound +++ /dev/null @@ -1,25 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/028-left-context.bound b/samples/walk-publication/inputs/028-left-context.bound deleted file mode 100644 index 5a8cfe7..0000000 --- a/samples/walk-publication/inputs/028-left-context.bound +++ /dev/null @@ -1,24 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/029-right-conflicting-wire.bound b/samples/walk-publication/inputs/029-right-conflicting-wire.bound deleted file mode 100644 index 7293451..0000000 --- a/samples/walk-publication/inputs/029-right-conflicting-wire.bound +++ /dev/null @@ -1,25 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/030-right-context.bound b/samples/walk-publication/inputs/030-right-context.bound deleted file mode 100644 index f775a13..0000000 --- a/samples/walk-publication/inputs/030-right-context.bound +++ /dev/null @@ -1,24 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/031-left-local.bound b/samples/walk-publication/inputs/031-left-local.bound deleted file mode 100644 index ec63993..0000000 --- a/samples/walk-publication/inputs/031-left-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/artifact value=left diff --git a/samples/walk-publication/inputs/032-right-local.bound b/samples/walk-publication/inputs/032-right-local.bound deleted file mode 100644 index 1350b34..0000000 --- a/samples/walk-publication/inputs/032-right-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/artifact value=right diff --git a/samples/walk-publication/inputs/033-right-inventory.bound b/samples/walk-publication/inputs/033-right-inventory.bound deleted file mode 100644 index 512a5f5..0000000 --- a/samples/walk-publication/inputs/033-right-inventory.bound +++ /dev/null @@ -1,2 +0,0 @@ -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:lVKVuT1rFpHEpmroflklPUtBk6aO2k5AHW2bZpG/o8WtOoTYHNkKqacPEuFWXVBG5MHfgPaBws2bPCSjUVvADQ==" value=sha256:ebeca5b18bcf73bf69f9a25ae0d712625beb9b5f89a717e9e2e27e2849bc9925 -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:enQwoId31rHE3mUnH6krAOx79iPARrC9OvBudLtk61Rh7ToeXbyr/3mO/Qaf4izUPFwFEsPfWyMRygEb2ZWTAQ==" value=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 diff --git a/samples/walk-publication/inputs/034-altered.bound b/samples/walk-publication/inputs/034-altered.bound deleted file mode 100644 index f829347..0000000 --- a/samples/walk-publication/inputs/034-altered.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=altered diff --git a/samples/walk-publication/inputs/035-partial-payload.bound b/samples/walk-publication/inputs/035-partial-payload.bound deleted file mode 100644 index 62ed7a3..0000000 --- a/samples/walk-publication/inputs/035-partial-payload.bound +++ /dev/null @@ -1,3 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 diff --git a/samples/walk-publication/inputs/036-outside-prefix.bound b/samples/walk-publication/inputs/036-outside-prefix.bound deleted file mode 100644 index e1f65d1..0000000 --- a/samples/walk-publication/inputs/036-outside-prefix.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 -bound-lock/1 at=policy:walk-fixture by=left epoch=99 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:rTrlnZIXa56b8lt3zoapOjeBK1hOO+hAmUcWAWJE4QRMk58AsxPaMuw8Fyf4fn2r3kr4L3eD9GApb+xVQ3ShBw==" value=left diff --git a/samples/walk-publication/inputs/037-unauthorized-prefix.bound b/samples/walk-publication/inputs/037-unauthorized-prefix.bound deleted file mode 100644 index b8179f3..0000000 --- a/samples/walk-publication/inputs/037-unauthorized-prefix.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=outsider condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:WiV827oZQUp1Zja7pHye1dBub2Z0iSGeQKBlhCImBhtVPUcNp4AACyWRo8qJFkOrERZViSRZNZM1I56LxN4bBA==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=outsider condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:SKOtX1iUMiFGSp69a8fx/K3TtBALVnJB+bB08NVbv5Ku/esfezTxV/i0b6DBfyAUPcx1ima3yYZs0SqY/YZQDQ==" value=1..1 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=outsider condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:NI4DZH9hSJI02oRflJltEHDI3oDIoAc7AeqpVmZvv3jIyy9cQyLlctMjcWX22UfYiE9BAWjwPHVNJS2ysA9NCg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/038-stale-base.bound b/samples/walk-publication/inputs/038-stale-base.bound deleted file mode 100644 index 4392288..0000000 --- a/samples/walk-publication/inputs/038-stale-base.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:0000000000000000000000000000000000000000000000000000000000000000 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:JSQ5RgolbgUP8DWCmutTBKgQ/xWsrBaO9+UQwslkup/ZPy1nrFDGlK8pzGOOlBQSSoyiunv4iTrnDfhwVXsXBA==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/039-left-payload.bound b/samples/walk-publication/inputs/039-left-payload.bound deleted file mode 100644 index 94e6f41..0000000 --- a/samples/walk-publication/inputs/039-left-payload.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:MIQH1AUm1iw6hTKXkNz6gkfzqK5IzZmi/woj53BKqUuDtYMLCaQV6LEKgWaexWwCgnK+lGX+ZaMZcbnKKMBEDw==" value=1..1 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:qlAfsbwPzjuGedAJrw7oNk2+lKm0GRZJgbgrvxfXi1DCdw1U6OmM9CXSFNDuo4B6fhCLbJT7iFh0ywiIXwXOBg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/040-missing-earlier-prefix.bound b/samples/walk-publication/inputs/040-missing-earlier-prefix.bound deleted file mode 100644 index 1cdea1a..0000000 --- a/samples/walk-publication/inputs/040-missing-earlier-prefix.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:61e776f3ca5781b9afc6e81d1d010813e472ead34ecab8a8de296909a08c24c2 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:aEpoCguywz1XFuNMHCcQflt5TPEkNbBsm8O+TaEXjsPB8XyNZ7tfcunJ7iYD2/wt+KVM8S/toIMGrjOLbWxxAQ==" value=sha256:de0eb6d00d35fd75eb83f3e8dddb25712a4f3be8afaf7df5eef74a1ff05af52e -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:61e776f3ca5781b9afc6e81d1d010813e472ead34ecab8a8de296909a08c24c2 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:GCvMorK3Y+JQ48LSfSFXaYDTwjeInIhvf7jM/YNJ356717u9XgO8KcMd9dQfAU9zWKzAg2y9lata6UGw5JUdAQ==" value=1..1 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:PkpwObWkMXZdUf8zASEnFXf8Hh9ULDkusq69PMLmnZ1+drMdfdeddbuDUijTYlmNySIixPMKswmrChVssSFXCg==" value=sha256:61e776f3ca5781b9afc6e81d1d010813e472ead34ecab8a8de296909a08c24c2 -bound-lock/1 at=policy:walk-fixture by=left epoch=3 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:KoVCUa79+EQvnN58TbZo2qr7nsifTuS+9aDI+doj/YteJVej00opsvWyKF1fGDYGG2VgHCvqNZ1xDuqOBW9zDA==" value=replaced diff --git a/samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound b/samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound deleted file mode 100644 index 2b74b06..0000000 --- a/samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:EDalAG5MyemXPknFKpGTxaQeDleD2UPYkwgYBejO2J+0+sgObgpnz/i7/OOhWWfL+HE3ox+tZI2w+oMAD3KoDw==" value=sha256:8882f7f04665071bfd99eb1fc79496e4fbf6844837d174aff99005654b25ec60 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:8882f7f04665071bfd99eb1fc79496e4fbf6844837d174aff99005654b25ec60 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:5+erllUoohuWNtQmQXW9xgMQ1/sT3BjIYcmB/z1H3Vr36/uSDirMU/ao57k5VzoX/j+1Wu9IE2Kx2Gdhg8bUDg==" value=sha256:310f01c4ef26fcf68780047df6032f6ab3daac1f960b44457a692be47aefff66 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:8882f7f04665071bfd99eb1fc79496e4fbf6844837d174aff99005654b25ec60 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:AZyF0sd8SvF1fJ+pUji3SEq3Aklpj75g0jSEQuw8YyGscYYLjB0Kx+vzy1tvmeOISUlwzI6F3guo9C/HTzxHBg==" value=2..2 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/extra sig="ed25519:sample:yNVt9AB88scGA6ZQwA2JhvXij/Wcwswer6hs+sSE40F+OCR8OW55zXPyPlgqx/0zlZJdfHMW9JcFXu4TUi6wBg==" value=left diff --git a/samples/walk-publication/inputs/042-right-acknowledged.bound b/samples/walk-publication/inputs/042-right-acknowledged.bound deleted file mode 100644 index 14badcb..0000000 --- a/samples/walk-publication/inputs/042-right-acknowledged.bound +++ /dev/null @@ -1,3 +0,0 @@ -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:YRYLWhisugOuSOqobRezNrxUVroeWGLap7WfPLsL2yhowGgOBIYT85klOAbI2orixS0e/KAXDNM4Hrh11AaEAg==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:s5PUOfoXGwe6gO9wFVC5Z86G4zLr+QLEbN6Qh1ib/JpyHJToGuXVrFkk4T/2ILrLfIGlRL927E+8FKDZdJSTBA==" value=sha256:ebeca5b18bcf73bf69f9a25ae0d712625beb9b5f89a717e9e2e27e2849bc9925 -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:aLc359xP5daI5gd9LapFDsLN4R4fg/5TgTGBTVDA4JY8deoXdI0E+CxcFgn476W5TKK+aDQUfwseZBT55ClGCg==" value=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a diff --git a/samples/walk-publication/inputs/043-no-payload.bound b/samples/walk-publication/inputs/043-no-payload.bound deleted file mode 100644 index 8ee8544..0000000 --- a/samples/walk-publication/inputs/043-no-payload.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:71c1f858a764ab56f506e387f09eb7c3c9cd7e85cf0cd44ecb7c8ed507fcf09a epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:dMnEZEblDhRy1vriwXwQXqKGquxC9L2aoquoqwZ6M3XNw24EVC/dqsnvzunK6aX6+nT7pmT/fTDdR8oWJt3SDw==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 diff --git a/samples/walk-publication/inputs/044-left-inventory.bound b/samples/walk-publication/inputs/044-left-inventory.bound deleted file mode 100644 index 4dd896a..0000000 --- a/samples/walk-publication/inputs/044-left-inventory.bound +++ /dev/null @@ -1,2 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:vpmqL9oNIvY3kH4Qft9b29Jy3p1EMDYXtMxGla2LKRESRHZQJIzOEkOSiRAbhEYH00cCqagLJ5t0NkZgZ2u1Ag==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:rOjBp/nWqVe4MKvqensaq82t/d3jQkBwG22zegoHxdCq9qbNHQUKKscc7tHuI0flAkjOityy3o2k3bFJoxv5Bg==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 diff --git a/samples/walk-publication/inputs/045-right-payload.bound b/samples/walk-publication/inputs/045-right-payload.bound deleted file mode 100644 index c1ba9ce..0000000 --- a/samples/walk-publication/inputs/045-right-payload.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=3 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:aglBsHmGtORmC/wVE48bYUR8R4jIoIh8leXf+JirqXD5hNMRRuMc5HwuqiU0MZwNxm49e2YZDvSSLvhPqKWRBg==" value=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=3 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:wcJrKtPbUraX1PaY8+V1HVXABK52tIKFdfNndfshE8wi60dWq74bLYCYq3vxFj78QGtlFFDnjN9CCRQ7ndBlAw==" value=sha256:ebeca5b18bcf73bf69f9a25ae0d712625beb9b5f89a717e9e2e27e2849bc9925 -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=3 form=interval measure=count role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:zFe6p9+ODMmPpnZfpDoQDB7rrvfsi9l38IF8cD/WVjOX9tq3W1P3DsberYOcGpwSKUAChEvGNPdG+fA0e+RKBA==" value=1..1 -bound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==" value=right diff --git a/samples/walk-publication/inputs/046-next-local.bound b/samples/walk-publication/inputs/046-next-local.bound deleted file mode 100644 index 4271257..0000000 --- a/samples/walk-publication/inputs/046-next-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/after value=local diff --git a/samples/walk-publication/inputs/047-alternate-origin-context.bound b/samples/walk-publication/inputs/047-alternate-origin-context.bound deleted file mode 100644 index 180da67..0000000 --- a/samples/walk-publication/inputs/047-alternate-origin-context.bound +++ /dev/null @@ -1,25 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin diff --git a/samples/walk-publication/inputs/048-select-alternate.bound b/samples/walk-publication/inputs/048-select-alternate.bound deleted file mode 100644 index a25ffa1..0000000 --- a/samples/walk-publication/inputs/048-select-alternate.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/alternate value=sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 diff --git a/samples/walk-publication/inputs/049-undeclared-context-lineage.bound b/samples/walk-publication/inputs/049-undeclared-context-lineage.bound deleted file mode 100644 index 97da32b..0000000 --- a/samples/walk-publication/inputs/049-undeclared-context-lineage.bound +++ /dev/null @@ -1,4 +0,0 @@ -bound-lock/1 at=receipt:sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:UqoXUWTA/SMc1l9PqkcCs+fJvibKtgjWUbI66KdO+343FdKJlaBuIiTxW01JfkhGWiGfJeNaQgepArhO9LsmDQ==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 by=left condition=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 epoch=2 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:RsOb4NX1AcH1oDwAF6rpPKblN79u1dN4SW8aM88kf4LQiwwnPMOEsZW5y3eQmNQKvFtJ+yhmlA6mXedgCKElDQ==" value=1..1 -bound-lock/1 at=receipt:sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 by=left condition=sha256:c22b8d3c4c3751f4f87d47022a0cc7ea2869b18b14e9c86ca10ddef47429eba9 epoch=2 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:P3v0yPatHeb4aIJXf73LhVxdsbc0CSBktKxstY/MUSYdRvdodD7i3s+tpWPoZwTL/+GnRYHCtZspODLjcVgkCw==" value=sha256:9cbc9088cf30398442997bda074ab78d5f5430398b69cfb34d9747d7d371e346 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left diff --git a/samples/walk-publication/inputs/050-new-left-local.bound b/samples/walk-publication/inputs/050-new-left-local.bound deleted file mode 100644 index 0a3dd40..0000000 --- a/samples/walk-publication/inputs/050-new-left-local.bound +++ /dev/null @@ -1 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=sample/new value=next diff --git a/samples/walk-publication/inputs/051-right-final-inventory.bound b/samples/walk-publication/inputs/051-right-final-inventory.bound deleted file mode 100644 index be1d4e4..0000000 --- a/samples/walk-publication/inputs/051-right-final-inventory.bound +++ /dev/null @@ -1,3 +0,0 @@ -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:OqBPfChDwsKDxbPK4eVM7u2zLLVS6Nkl+PZGgEkQzfGAT4F+va99L1lkbNC7XrYPBFeqjEb39qFxztFGDz2WDQ==" value=sha256:96a3ab2716a29f4650274486eb7bd7e8d52017c468460135efd31ef2aa08d707 -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba epoch=5 form=alphabet measure=digest role=writes scope=walk/regions/receipts/right-ledger/sample sig="ed25519:sample:ef/qTswHnjGgUiw8D3QR/fkWUrzR7yRobmt9MJPWA1Jh0HeWO+K8hS/rb8yfZhTb64/QbyBihbSzdeM0wuCAAw==" value=sha256:a2dff6d1f9bbc2e96d22090548aa40ef3b7f7ae34f933aba00507c8f101fd483 -bound-lock/1 at=receipt:sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f by=right condition=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 epoch=5 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:p0NkJV4l3W0oNsheMLUyW+tBx2aV1+Gkd/aatTBHU322WZbFPy9Twshmn/LXvbm084R0MUaisvw0UpOVRID9BQ==" value=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba diff --git a/samples/walk-publication/inputs/052-interruption-payload.bound b/samples/walk-publication/inputs/052-interruption-payload.bound deleted file mode 100644 index 1e312d4..0000000 --- a/samples/walk-publication/inputs/052-interruption-payload.bound +++ /dev/null @@ -1,5 +0,0 @@ -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:6c5c29a8c3cb3f463ad1be745616718fa0e1d3364f21b5cfbc326e9b550b57ba epoch=4 form=alphabet measure=digest role=writes scope=walk/root sig="ed25519:sample:V9UyLtJysDawe9msjxemHH/G/fAzK0JrB4RCnJssGqAfseYDGowb0UapXPQ392t6xtq2kWBOeAS2k/IXEEU2Cw==" value=sha256:a2d269b81244e84a1484c9f4d2da3b1e98471589840a3ac8c0a6503e500e566c -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:a2d269b81244e84a1484c9f4d2da3b1e98471589840a3ac8c0a6503e500e566c epoch=4 form=alphabet measure=digest role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:FGOswVRUmu4prhIji75Jww6eVzfasqz3x45cNXLNM8VvRlg7qvOR7J0P+0hDxBWowY0GbO3zoo0DRq5MEKOhBw==" value=sha256:d9e66ee69f347d5a03bb4665917409d97444ae0452c21f9ac949780efded6111 -bound-lock/1 at=receipt:sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 by=left condition=sha256:a2d269b81244e84a1484c9f4d2da3b1e98471589840a3ac8c0a6503e500e566c epoch=4 form=interval measure=count role=writes scope=walk/regions/receipts/left-ledger/sample sig="ed25519:sample:BmpXriZp852RqtTUymQWIClRjSVjOZvTDy/49frxD9WvjfeUptici9acXyBLe+rnD/KZIt3sGwuhkko53YyACA==" value=2..2 -bound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig="ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==" value=left -bound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig="ed25519:sample:tBx6dQN8lvtI0yrYNoF9kFELqZPOqorOmx4CHB8Zywqq2g9HVrOcEpvXcLeIZotW58h7Qhubebb+cgf0kP3KDw==" value=next diff --git a/samples/walk-publication/left-1/TARGET.bound b/samples/walk-publication/left-1/TARGET.bound deleted file mode 100644 index fcc90c3..0000000 --- a/samples/walk-publication/left-1/TARGET.bound +++ /dev/null @@ -1,32 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf role=writes scope=dep/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 role=writes scope=dep/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 role=writes scope=dep/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 value=sha256:9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca role=writes scope=dep/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca value=sha256:375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 role=writes scope=dep/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 value=sha256:a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 diff --git a/samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf b/samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf deleted file mode 100644 index 9d2497a..0000000 --- a/samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca b/samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca deleted file mode 100644 index c989a41..0000000 --- a/samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:5Q0WKzqchIgy6GNOBNPqm4R2vSUVAzN1V8tnllQIZy+OMWyDZFvGQvJ94+CHPeiIFuwmbj5EInGcoPw9UEbPBA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:LHdUsClQSa+hhiSG93YahGA38opioDR86838zISL6oRzfSv6cxOwI/ZLoR62L5ThC7YPR6M2GrPYTh9OxIuRAw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:hN1RLR2hG50ZrQo1nbXcfQqQO1dNhrxpH5V/eaquQrm7shh+OXYpJSIJ3k93EXuqva2h/Z9DhGljI3o+eO0qCQ==\" value=\"MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:hB6+s5BjMpDp1h1QqGmqVHMhTMpnyNBgBnJ1u+3q53dFhwlPAhhZqJwzO4B8xAke7DHWte0j8lVXc0VgBTUPCg==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:6IT5TO1ZJF/IyrI9yW/Bs0xDVWLpvqTh6YDsdZkEF83Yq5p7vpqhB4sO1Pc6RI0WRsaFlNGpxwlgAcuPEtnmDw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:HHNBLttSkvOM2HMGhB8BPTAKejzEEjPelzUsTA7fUfrwkHuhw8xWNxUOOX1+vz6qxnYcG97xpjvmtNBODgc4Dw==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:22SBWp07LwvMvmddo7KC95dQjA4uCiD1jFPVq4YcDc/yC6h+V4STA1QXItslYQeN8TaIAMVRs5k0MVi5DqtpAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:a5XK313xsDg5aNO0cr3/pT7HzKZeB3538iFmfOZWyPnrxGQwlaiBJPAktPgVJY8eUufbYtPWqflgLXDNfvYqAw==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:NkkXdVwOoIyceXPFXUA2Fo93x/OqNUrcqoq/YHghY3+RByqFSZwU44I79e+SDtVLIp/SAcC9l+FD0qFwAQXyAQ==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:o1HWLQDIPweIdDheqz/s5jG7VbkALnS+DJDEnKWNmMDGFA6iEIZanGteNz35dVo5g40J7SkMbmXIk2txv6UEBw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:iZGbkzViUgHyGnH08U4GovkplxaIGULUETgqDVhHgHVRwXQ4O6n3Y0IN4cvul/9x58XRlT40DKduxAdehUCDAw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:qSEAPs/oSYi9TFeeaJZ+q728xKzeq7ouo1dr89iUzE30msWvNT+pQRDdj4N53oynQqvU5snJafc1se7pWh0FBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:hP8TX1CIUlXDNg83oHRYuykETTcX17kqwGpoHfUcadydQx5AN7toyqVUkyzjWjkA0h3egeiCnhw4cH+CzZMiDA==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:eyyFlIfNkoA2Cg70vLgHC6Zp5xpVutfY77Pnchk8tr+IsSGsx0a/lk2dHPUbY7d2FSQvuaxAo5pBOqgBImI5DQ==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:SqQqf/xrfFWVEBPUv5/OLRH/0X3UEiLe8nH5jxQZ4ht9j1RiCIm5m9344mT6P/1A1tuF7+1/bZ9dOhZIDkYLBQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:a8c8roXliPTN9JQD3eNwvg/j4qqH2wtn/OdJdgldM4SrYbfAA6CdKHSp1ACXXUgL8yIROC1R6lqsIcdsVSDLDw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:bD4BosWFeWCza62K4GpIvWjk29pJrlZCN6gyKJnIAyO+9NMmNYskYVnP7/2twrwS4qbavkiEgHKCpmg0RQlnCg==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:EI3lneSTkl0YbPbvS0tSmqgHebBIq8jukNQzjqcrWhvQ8mb7+wckrIu8VOpVGf7wB1mJRSpHlyql9sHioLe4Bw==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:fVYhKlAqHal6olTZb3QU7EDVg/ZWmfMNaUAK2YNrO234Dg4eXQprzT8IQ8S3vWXTmDYQ6gT5F0dR0EVFESC8Bg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:2cIpe7PLMZR/Qa9GTJ7XwWbCWzt4bFwBL3mhrCo4lnWFOhEBI3vYWdGC+6dGNNXOojZraxwE+RnxFL2LcwwXCA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:X3p+dsQxKmC8Kv97qO+At84BmVNgattm3dhJtkpS0IyzqG5bl91sLJUCZq/iq2k1xM6lyInPlhS2lTDpEieWCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:DnGb5v/WihV2U4qtuvGdc8e/Br8miJGUcsXUSbE+b1nUDxH6Iy3Tw/euJBg+rxguYCAD+KKVHcBUUPsWVTWRDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Re4Dlkz5l7SgjaLrPN0znpBoD31CutQNRPUIpYH6y+nqmX57qX/n6gRyXnK6SAIrBCIVUnu3cLJrkQ8eU/dtDg==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:jgnKTB8pIKgi/RTH7LrMBKMsl1YmpK3YsOAbvPKpz/hKOYh7yHD9djSH2m7+IPRz4cJAaqjtseNFVxYxOTYGCQ==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:0r5zBV5MdSybtmj3FEh+bovkN7rkHXRloLlMMhf1UXIdNoYsPalwLggKo6C405vvSWQ8kIvrGi85iB9S99WZBA==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:yY1RooRot4ocslAyt3AvuaCdFofEQ1fBZkI5YJEELKbMzM+8QmI4xG/EZHqhhxgReF7OaEjJMuOxBAUHlSGGCg==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vgqZHd/5HgoZdB/FE94pWECneWxmOtplnRnDCBE+C0ArCuAeKuDuLgNvaLeP8ReESihdB++hvW81HGZW1dXNAQ==\" value=0|1|4|6|8\n","standing":28,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 b/samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 deleted file mode 100644 index 48053ff..0000000 --- a/samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 b/samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 deleted file mode 100644 index 67f6485..0000000 --- a/samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:5Q0WKzqchIgy6GNOBNPqm4R2vSUVAzN1V8tnllQIZy+OMWyDZFvGQvJ94+CHPeiIFuwmbj5EInGcoPw9UEbPBA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:LHdUsClQSa+hhiSG93YahGA38opioDR86838zISL6oRzfSv6cxOwI/ZLoR62L5ThC7YPR6M2GrPYTh9OxIuRAw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:hN1RLR2hG50ZrQo1nbXcfQqQO1dNhrxpH5V/eaquQrm7shh+OXYpJSIJ3k93EXuqva2h/Z9DhGljI3o+eO0qCQ==\" value=\"MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:hB6+s5BjMpDp1h1QqGmqVHMhTMpnyNBgBnJ1u+3q53dFhwlPAhhZqJwzO4B8xAke7DHWte0j8lVXc0VgBTUPCg==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:6IT5TO1ZJF/IyrI9yW/Bs0xDVWLpvqTh6YDsdZkEF83Yq5p7vpqhB4sO1Pc6RI0WRsaFlNGpxwlgAcuPEtnmDw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:HHNBLttSkvOM2HMGhB8BPTAKejzEEjPelzUsTA7fUfrwkHuhw8xWNxUOOX1+vz6qxnYcG97xpjvmtNBODgc4Dw==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:22SBWp07LwvMvmddo7KC95dQjA4uCiD1jFPVq4YcDc/yC6h+V4STA1QXItslYQeN8TaIAMVRs5k0MVi5DqtpAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:a5XK313xsDg5aNO0cr3/pT7HzKZeB3538iFmfOZWyPnrxGQwlaiBJPAktPgVJY8eUufbYtPWqflgLXDNfvYqAw==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:NkkXdVwOoIyceXPFXUA2Fo93x/OqNUrcqoq/YHghY3+RByqFSZwU44I79e+SDtVLIp/SAcC9l+FD0qFwAQXyAQ==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:o1HWLQDIPweIdDheqz/s5jG7VbkALnS+DJDEnKWNmMDGFA6iEIZanGteNz35dVo5g40J7SkMbmXIk2txv6UEBw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:iZGbkzViUgHyGnH08U4GovkplxaIGULUETgqDVhHgHVRwXQ4O6n3Y0IN4cvul/9x58XRlT40DKduxAdehUCDAw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:qSEAPs/oSYi9TFeeaJZ+q728xKzeq7ouo1dr89iUzE30msWvNT+pQRDdj4N53oynQqvU5snJafc1se7pWh0FBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:hP8TX1CIUlXDNg83oHRYuykETTcX17kqwGpoHfUcadydQx5AN7toyqVUkyzjWjkA0h3egeiCnhw4cH+CzZMiDA==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:eyyFlIfNkoA2Cg70vLgHC6Zp5xpVutfY77Pnchk8tr+IsSGsx0a/lk2dHPUbY7d2FSQvuaxAo5pBOqgBImI5DQ==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:SqQqf/xrfFWVEBPUv5/OLRH/0X3UEiLe8nH5jxQZ4ht9j1RiCIm5m9344mT6P/1A1tuF7+1/bZ9dOhZIDkYLBQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:a8c8roXliPTN9JQD3eNwvg/j4qqH2wtn/OdJdgldM4SrYbfAA6CdKHSp1ACXXUgL8yIROC1R6lqsIcdsVSDLDw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:bD4BosWFeWCza62K4GpIvWjk29pJrlZCN6gyKJnIAyO+9NMmNYskYVnP7/2twrwS4qbavkiEgHKCpmg0RQlnCg==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:EI3lneSTkl0YbPbvS0tSmqgHebBIq8jukNQzjqcrWhvQ8mb7+wckrIu8VOpVGf7wB1mJRSpHlyql9sHioLe4Bw==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:fVYhKlAqHal6olTZb3QU7EDVg/ZWmfMNaUAK2YNrO234Dg4eXQprzT8IQ8S3vWXTmDYQ6gT5F0dR0EVFESC8Bg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:2cIpe7PLMZR/Qa9GTJ7XwWbCWzt4bFwBL3mhrCo4lnWFOhEBI3vYWdGC+6dGNNXOojZraxwE+RnxFL2LcwwXCA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:X3p+dsQxKmC8Kv97qO+At84BmVNgattm3dhJtkpS0IyzqG5bl91sLJUCZq/iq2k1xM6lyInPlhS2lTDpEieWCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:DnGb5v/WihV2U4qtuvGdc8e/Br8miJGUcsXUSbE+b1nUDxH6Iy3Tw/euJBg+rxguYCAD+KKVHcBUUPsWVTWRDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Re4Dlkz5l7SgjaLrPN0znpBoD31CutQNRPUIpYH6y+nqmX57qX/n6gRyXnK6SAIrBCIVUnu3cLJrkQ8eU/dtDg==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:jgnKTB8pIKgi/RTH7LrMBKMsl1YmpK3YsOAbvPKpz/hKOYh7yHD9djSH2m7+IPRz4cJAaqjtseNFVxYxOTYGCQ==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:0r5zBV5MdSybtmj3FEh+bovkN7rkHXRloLlMMhf1UXIdNoYsPalwLggKo6C405vvSWQ8kIvrGi85iB9S99WZBA==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:yY1RooRot4ocslAyt3AvuaCdFofEQ1fBZkI5YJEELKbMzM+8QmI4xG/EZHqhhxgReF7OaEjJMuOxBAUHlSGGCg==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vgqZHd/5HgoZdB/FE94pWECneWxmOtplnRnDCBE+C0ArCuAeKuDuLgNvaLeP8ReESihdB++hvW81HGZW1dXNAQ==\" value=0|1|4|6|8\n","standing":27,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 b/samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 deleted file mode 100644 index 54920b2..0000000 --- a/samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:5Q0WKzqchIgy6GNOBNPqm4R2vSUVAzN1V8tnllQIZy+OMWyDZFvGQvJ94+CHPeiIFuwmbj5EInGcoPw9UEbPBA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:LHdUsClQSa+hhiSG93YahGA38opioDR86838zISL6oRzfSv6cxOwI/ZLoR62L5ThC7YPR6M2GrPYTh9OxIuRAw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:hN1RLR2hG50ZrQo1nbXcfQqQO1dNhrxpH5V/eaquQrm7shh+OXYpJSIJ3k93EXuqva2h/Z9DhGljI3o+eO0qCQ==\" value=\"MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:hB6+s5BjMpDp1h1QqGmqVHMhTMpnyNBgBnJ1u+3q53dFhwlPAhhZqJwzO4B8xAke7DHWte0j8lVXc0VgBTUPCg==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:6IT5TO1ZJF/IyrI9yW/Bs0xDVWLpvqTh6YDsdZkEF83Yq5p7vpqhB4sO1Pc6RI0WRsaFlNGpxwlgAcuPEtnmDw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:HHNBLttSkvOM2HMGhB8BPTAKejzEEjPelzUsTA7fUfrwkHuhw8xWNxUOOX1+vz6qxnYcG97xpjvmtNBODgc4Dw==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:s+7TArKxKBRMzepCfsnzntReiDv7BkOddAxewJejlh/pF9lFG1UZ1L4RCBLp8d47m7QnOWZ0tqXA19Xg7XDkCQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig=\"ed25519:sample:7wIO3vRnI1l0mZrKq/mFcexpQMyJfK2sLMHCJGlWofJVIoNuy3oiQGNGLTiNVEXeqr74kMW2MqMKyJh+dm+qCw==\" value=next\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:22SBWp07LwvMvmddo7KC95dQjA4uCiD1jFPVq4YcDc/yC6h+V4STA1QXItslYQeN8TaIAMVRs5k0MVi5DqtpAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:a5XK313xsDg5aNO0cr3/pT7HzKZeB3538iFmfOZWyPnrxGQwlaiBJPAktPgVJY8eUufbYtPWqflgLXDNfvYqAw==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:NkkXdVwOoIyceXPFXUA2Fo93x/OqNUrcqoq/YHghY3+RByqFSZwU44I79e+SDtVLIp/SAcC9l+FD0qFwAQXyAQ==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:o1HWLQDIPweIdDheqz/s5jG7VbkALnS+DJDEnKWNmMDGFA6iEIZanGteNz35dVo5g40J7SkMbmXIk2txv6UEBw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:iZGbkzViUgHyGnH08U4GovkplxaIGULUETgqDVhHgHVRwXQ4O6n3Y0IN4cvul/9x58XRlT40DKduxAdehUCDAw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:qSEAPs/oSYi9TFeeaJZ+q728xKzeq7ouo1dr89iUzE30msWvNT+pQRDdj4N53oynQqvU5snJafc1se7pWh0FBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:hP8TX1CIUlXDNg83oHRYuykETTcX17kqwGpoHfUcadydQx5AN7toyqVUkyzjWjkA0h3egeiCnhw4cH+CzZMiDA==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:eyyFlIfNkoA2Cg70vLgHC6Zp5xpVutfY77Pnchk8tr+IsSGsx0a/lk2dHPUbY7d2FSQvuaxAo5pBOqgBImI5DQ==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:SqQqf/xrfFWVEBPUv5/OLRH/0X3UEiLe8nH5jxQZ4ht9j1RiCIm5m9344mT6P/1A1tuF7+1/bZ9dOhZIDkYLBQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:a8c8roXliPTN9JQD3eNwvg/j4qqH2wtn/OdJdgldM4SrYbfAA6CdKHSp1ACXXUgL8yIROC1R6lqsIcdsVSDLDw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:bD4BosWFeWCza62K4GpIvWjk29pJrlZCN6gyKJnIAyO+9NMmNYskYVnP7/2twrwS4qbavkiEgHKCpmg0RQlnCg==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:EI3lneSTkl0YbPbvS0tSmqgHebBIq8jukNQzjqcrWhvQ8mb7+wckrIu8VOpVGf7wB1mJRSpHlyql9sHioLe4Bw==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:fVYhKlAqHal6olTZb3QU7EDVg/ZWmfMNaUAK2YNrO234Dg4eXQprzT8IQ8S3vWXTmDYQ6gT5F0dR0EVFESC8Bg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:2cIpe7PLMZR/Qa9GTJ7XwWbCWzt4bFwBL3mhrCo4lnWFOhEBI3vYWdGC+6dGNNXOojZraxwE+RnxFL2LcwwXCA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:X3p+dsQxKmC8Kv97qO+At84BmVNgattm3dhJtkpS0IyzqG5bl91sLJUCZq/iq2k1xM6lyInPlhS2lTDpEieWCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:DnGb5v/WihV2U4qtuvGdc8e/Br8miJGUcsXUSbE+b1nUDxH6Iy3Tw/euJBg+rxguYCAD+KKVHcBUUPsWVTWRDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Re4Dlkz5l7SgjaLrPN0znpBoD31CutQNRPUIpYH6y+nqmX57qX/n6gRyXnK6SAIrBCIVUnu3cLJrkQ8eU/dtDg==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:jgnKTB8pIKgi/RTH7LrMBKMsl1YmpK3YsOAbvPKpz/hKOYh7yHD9djSH2m7+IPRz4cJAaqjtseNFVxYxOTYGCQ==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:0r5zBV5MdSybtmj3FEh+bovkN7rkHXRloLlMMhf1UXIdNoYsPalwLggKo6C405vvSWQ8kIvrGi85iB9S99WZBA==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:yY1RooRot4ocslAyt3AvuaCdFofEQ1fBZkI5YJEELKbMzM+8QmI4xG/EZHqhhxgReF7OaEjJMuOxBAUHlSGGCg==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vgqZHd/5HgoZdB/FE94pWECneWxmOtplnRnDCBE+C0ArCuAeKuDuLgNvaLeP8ReESihdB++hvW81HGZW1dXNAQ==\" value=0|1|4|6|8\n","standing":29,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-3/TARGET.bound b/samples/walk-publication/left-3/TARGET.bound deleted file mode 100644 index 2479be9..0000000 --- a/samples/walk-publication/left-3/TARGET.bound +++ /dev/null @@ -1,32 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/left value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f role=writes scope=dep/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 role=writes scope=dep/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 role=writes scope=dep/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 value=sha256:beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc role=writes scope=dep/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc value=sha256:2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 role=writes scope=dep/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 value=sha256:62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 diff --git a/samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc b/samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc deleted file mode 100644 index 43fedae..0000000 --- a/samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:95Gv/pDKEk16paIno26D0A9hTNliT95wJKCmXrdPaSx4PuNHQKlBFQU8iVqcU2pJxWzKgDFSjUYr+NEMlxo9AA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:q36F8DVH7FrozIKqlMgTUzbcMlwIxTMkY3Ha9/zoIRQZ9Vvn9q9YUym+8DgtB+z+42SPNoq31/eYwY13pDJrDg==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:rnBbJV+N0z9wbTV0gpay3xJBE//oHCNwSm3CtyMcAvMO1HvXv7AEW0bKwYrAoeK/ItB6B+8bC2a2LMFLibi5Bg==\" value=\"MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:2v+1AQAmyzxCG6akuTp6O50tdIrYpDxCkhUHf+wQzjMm2Fkbl6TkyK5Cyc/tnTwkNpSZkj3RKMh8KV3dQp7vAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:W7DcZmzJnR8htSgmJAuKjQ1UyqRf1/15bqG8KhMiOs78uOnshZcHM3nRCGC+7AxRWN68OJve27C4xrihJAVtDQ==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0uAhchzrS3TTqceZrEyGJTv+xAAobEnapKXLtWOcvU2V8BOPrlEaySP2aLE5eT4jfGtTQZHDW1/K2cYJCWk6Ag==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:1+hY2RPQrRCpbzZGHtF44aBZVnFo3/WPg3/DpEk9G3/CFPt+13Z2Qj8f1zhFojHtX0ZoX/sgBFWQ7RCY7LPfCw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aPTpJlH750YeEhmncWat+bvEi8A/2hXcAzm7BtS7fDBYzCQ3XVjSFiWwTRzvcQY54WZUjqGgAq6UU6oTaxCFAQ==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:btaYBcnQ5RWrBuzgo62NlPWpZT/s8JtFjU7QtBQDoOXbbHlfczWyuPKoyKRiJV9XOlGQpFZnaZh1vq28I2YhAg==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:5NZ2YQ3t4cUE1/V++1U2faIXhYQmR3jIq0og3cAM4Q14NB0ocNBKn9buk3IpPkmx0bRK8A54QG2Qs2CE6v42Bw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:I0l5jKCi+ie9uhYdgjfnBJHbTSGGepSWnzoPZ7pV9cCA8U+JMGtuPUDs+DGm9maRCKYQFJ2Nvb3l5P08XrzqAQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:9sHqjZBWMtf/Y+vt5r8Nb7IxWvrSH8JV/LitSXadpX1PyzAT5cKl+aJZnGhyN3qDuE6Dpnh8x2sTh9++/7r6DQ==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:+Mc0jq/W/a+GwyqgILloMAucbZL4YJTgpsN4YMXZlDD/AfA8uzFDZ0mcH7IpXnI+n+yuq8AZxDhq7QjCsCwUCQ==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:L5s3VFTTIfpadBYCGIQAW2pct6v2BR9J5xpLFgW4PV/QlrnYM2Q0zY2Svpy24yz5/A9WnpmpadW781usvuLRAA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:RZlvrGVc5mRlViom2t9algupC3Lm+Va5FB/ifxtbn9ZGcdKFzVU71JYGogMcZgw2xdW27lA18pobMjrUXj+8DA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Uu7GvDVIlGKtWQElyaOiQyUwQJvNuaOYcgYNROVb4hyQhCgCWm93JP0H1w9PI3Mn6il8imuW2+/FiQx4Y1UZBw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:qROnR420GedxI9E777pPWkMgI4vCnYABjgcmWSkWmpT5U2pgwgdTFkVSzWsNS5/ycqydtnObMkcO9tb7gDimBA==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZzxTCdudb2eatDjx6AdCAdfqNF1WimF3ky/yetFEGPY2Vy+s0rHwhccdGrA5KdvYcWr/l/ZNwPa/8XJ3AAG5Dg==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:ciK844tLr91mgxpsz4OqHp0EdpQNvmVLA3d+r6vXuQmN9YGSUoi3C2j3jOSlT0dimqfiEYHlY7cpBu7VWmN3AQ==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:WnbFPH/Ijv8SQJMbPTfdOrhhBuuALAPooANN4OoP9Lv3JP2dgXJEaOjzrks2giw+RCUFZTJr8CL6AvrxJlZ1CQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Jhno23V8Sf74BnCnI6P5Uvu2MN2sTdbyxYLVtmtLSDY6+LZfhei5NxsWCwlIRe2aC4f2rToA9rO5JLjfNWtQBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YVuRksu1OSv9rfSnTEwp6DUQMs16n+INeVDesAXwrD0fTLRpBHpgxibLtwgESqZHlQQeEMOO/6rWJfy2+FYnDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:/JpC4EkWeLZfS/oU/qnHWiwYwBbKzvQR1WUTLhgh0BUoh8SnwLFMG6+/qu2bjEoxOseOOimm1wb8Da2rxE1HAA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:8SaikJlUVowLAFhDxs0l2aiUVRV2v/9sqUFKkwdwppSsyB0Zi6HUrJ6FK11KwNZV0kwXFJeiPcSUPzX/kC5uAw==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:6A/RR42JZCI/e3vAcL0FmT++zhqXXUVo9Slkqd90JePMQM34jOWOnWA5fQFR8+RFnwRZyEBklSXR0TO60+JsCg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:L4Qif48bypD/8VOa6/bU1eq8/6wm4OainpugnUup1CMkGrPev5vbkeifG8WcPOdSLoRkVyY4mc5bWY8flUbPCw==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:rLmiUNnAkTrcCW0eDOtbe/ymSzEd3bZK7WDSR30A1pQYo99jYrRzmIjvayYb0LHf9msS0nodNnZyvPuXLwsNAQ==\" value=0|1|4|6|8\n","standing":28,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f b/samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f deleted file mode 100644 index 3d44d5f..0000000 --- a/samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 b/samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 deleted file mode 100644 index 97fdb61..0000000 --- a/samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:95Gv/pDKEk16paIno26D0A9hTNliT95wJKCmXrdPaSx4PuNHQKlBFQU8iVqcU2pJxWzKgDFSjUYr+NEMlxo9AA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:q36F8DVH7FrozIKqlMgTUzbcMlwIxTMkY3Ha9/zoIRQZ9Vvn9q9YUym+8DgtB+z+42SPNoq31/eYwY13pDJrDg==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:rnBbJV+N0z9wbTV0gpay3xJBE//oHCNwSm3CtyMcAvMO1HvXv7AEW0bKwYrAoeK/ItB6B+8bC2a2LMFLibi5Bg==\" value=\"MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:2v+1AQAmyzxCG6akuTp6O50tdIrYpDxCkhUHf+wQzjMm2Fkbl6TkyK5Cyc/tnTwkNpSZkj3RKMh8KV3dQp7vAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:W7DcZmzJnR8htSgmJAuKjQ1UyqRf1/15bqG8KhMiOs78uOnshZcHM3nRCGC+7AxRWN68OJve27C4xrihJAVtDQ==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0uAhchzrS3TTqceZrEyGJTv+xAAobEnapKXLtWOcvU2V8BOPrlEaySP2aLE5eT4jfGtTQZHDW1/K2cYJCWk6Ag==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:XCyyNLYCV2xkh2AZPIjCamZ3t0X0QR4QxcULM4y/frAHtWQhC4zHnxT2i3YVSo0LGe47angkg2kbRz7mUHgGDQ==\" value=left\nbound-lock/1 at=policy:walk-fixture by=left epoch=4 form=alphabet measure=id role=writes scope=sample/new sig=\"ed25519:sample:tBx6dQN8lvtI0yrYNoF9kFELqZPOqorOmx4CHB8Zywqq2g9HVrOcEpvXcLeIZotW58h7Qhubebb+cgf0kP3KDw==\" value=next\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:1+hY2RPQrRCpbzZGHtF44aBZVnFo3/WPg3/DpEk9G3/CFPt+13Z2Qj8f1zhFojHtX0ZoX/sgBFWQ7RCY7LPfCw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aPTpJlH750YeEhmncWat+bvEi8A/2hXcAzm7BtS7fDBYzCQ3XVjSFiWwTRzvcQY54WZUjqGgAq6UU6oTaxCFAQ==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:btaYBcnQ5RWrBuzgo62NlPWpZT/s8JtFjU7QtBQDoOXbbHlfczWyuPKoyKRiJV9XOlGQpFZnaZh1vq28I2YhAg==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:5NZ2YQ3t4cUE1/V++1U2faIXhYQmR3jIq0og3cAM4Q14NB0ocNBKn9buk3IpPkmx0bRK8A54QG2Qs2CE6v42Bw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:I0l5jKCi+ie9uhYdgjfnBJHbTSGGepSWnzoPZ7pV9cCA8U+JMGtuPUDs+DGm9maRCKYQFJ2Nvb3l5P08XrzqAQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:9sHqjZBWMtf/Y+vt5r8Nb7IxWvrSH8JV/LitSXadpX1PyzAT5cKl+aJZnGhyN3qDuE6Dpnh8x2sTh9++/7r6DQ==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:+Mc0jq/W/a+GwyqgILloMAucbZL4YJTgpsN4YMXZlDD/AfA8uzFDZ0mcH7IpXnI+n+yuq8AZxDhq7QjCsCwUCQ==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:L5s3VFTTIfpadBYCGIQAW2pct6v2BR9J5xpLFgW4PV/QlrnYM2Q0zY2Svpy24yz5/A9WnpmpadW781usvuLRAA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:RZlvrGVc5mRlViom2t9algupC3Lm+Va5FB/ifxtbn9ZGcdKFzVU71JYGogMcZgw2xdW27lA18pobMjrUXj+8DA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Uu7GvDVIlGKtWQElyaOiQyUwQJvNuaOYcgYNROVb4hyQhCgCWm93JP0H1w9PI3Mn6il8imuW2+/FiQx4Y1UZBw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:qROnR420GedxI9E777pPWkMgI4vCnYABjgcmWSkWmpT5U2pgwgdTFkVSzWsNS5/ycqydtnObMkcO9tb7gDimBA==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZzxTCdudb2eatDjx6AdCAdfqNF1WimF3ky/yetFEGPY2Vy+s0rHwhccdGrA5KdvYcWr/l/ZNwPa/8XJ3AAG5Dg==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:ciK844tLr91mgxpsz4OqHp0EdpQNvmVLA3d+r6vXuQmN9YGSUoi3C2j3jOSlT0dimqfiEYHlY7cpBu7VWmN3AQ==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:WnbFPH/Ijv8SQJMbPTfdOrhhBuuALAPooANN4OoP9Lv3JP2dgXJEaOjzrks2giw+RCUFZTJr8CL6AvrxJlZ1CQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Jhno23V8Sf74BnCnI6P5Uvu2MN2sTdbyxYLVtmtLSDY6+LZfhei5NxsWCwlIRe2aC4f2rToA9rO5JLjfNWtQBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YVuRksu1OSv9rfSnTEwp6DUQMs16n+INeVDesAXwrD0fTLRpBHpgxibLtwgESqZHlQQeEMOO/6rWJfy2+FYnDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:/JpC4EkWeLZfS/oU/qnHWiwYwBbKzvQR1WUTLhgh0BUoh8SnwLFMG6+/qu2bjEoxOseOOimm1wb8Da2rxE1HAA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:8SaikJlUVowLAFhDxs0l2aiUVRV2v/9sqUFKkwdwppSsyB0Zi6HUrJ6FK11KwNZV0kwXFJeiPcSUPzX/kC5uAw==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:6A/RR42JZCI/e3vAcL0FmT++zhqXXUVo9Slkqd90JePMQM34jOWOnWA5fQFR8+RFnwRZyEBklSXR0TO60+JsCg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:L4Qif48bypD/8VOa6/bU1eq8/6wm4OainpugnUup1CMkGrPev5vbkeifG8WcPOdSLoRkVyY4mc5bWY8flUbPCw==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:rLmiUNnAkTrcCW0eDOtbe/ymSzEd3bZK7WDSR30A1pQYo99jYrRzmIjvayYb0LHf9msS0nodNnZyvPuXLwsNAQ==\" value=0|1|4|6|8\n","standing":29,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 b/samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 deleted file mode 100644 index 0fbd7e0..0000000 --- a/samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 b/samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 deleted file mode 100644 index f3d5a14..0000000 --- a/samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/left sig=\"ed25519:sample:95Gv/pDKEk16paIno26D0A9hTNliT95wJKCmXrdPaSx4PuNHQKlBFQU8iVqcU2pJxWzKgDFSjUYr+NEMlxo9AA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=coverage role=writes scope=keys/left sig=\"ed25519:sample:q36F8DVH7FrozIKqlMgTUzbcMlwIxTMkY3Ha9/zoIRQZ9Vvn9q9YUym+8DgtB+z+42SPNoq31/eYwY13pDJrDg==\" value=*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=public-key role=writes scope=keys/left sig=\"ed25519:sample:rnBbJV+N0z9wbTV0gpay3xJBE//oHCNwSm3CtyMcAvMO1HvXv7AEW0bKwYrAoeK/ItB6B+8bC2a2LMFLibi5Bg==\" value=\"MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=\"\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=resolution role=writes scope=keys/left sig=\"ed25519:sample:2v+1AQAmyzxCG6akuTp6O50tdIrYpDxCkhUHf+wQzjMm2Fkbl6TkyK5Cyc/tnTwkNpSZkj3RKMh8KV3dQp7vAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=signer role=writes scope=keys/left sig=\"ed25519:sample:W7DcZmzJnR8htSgmJAuKjQ1UyqRf1/15bqG8KhMiOs78uOnshZcHM3nRCGC+7AxRWN68OJve27C4xrihJAVtDQ==\" value=file\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0uAhchzrS3TTqceZrEyGJTv+xAAobEnapKXLtWOcvU2V8BOPrlEaySP2aLE5eT4jfGtTQZHDW1/K2cYJCWk6Ag==\" value=read\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:1+hY2RPQrRCpbzZGHtF44aBZVnFo3/WPg3/DpEk9G3/CFPt+13Z2Qj8f1zhFojHtX0ZoX/sgBFWQ7RCY7LPfCw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:aPTpJlH750YeEhmncWat+bvEi8A/2hXcAzm7BtS7fDBYzCQ3XVjSFiWwTRzvcQY54WZUjqGgAq6UU6oTaxCFAQ==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:btaYBcnQ5RWrBuzgo62NlPWpZT/s8JtFjU7QtBQDoOXbbHlfczWyuPKoyKRiJV9XOlGQpFZnaZh1vq28I2YhAg==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:5NZ2YQ3t4cUE1/V++1U2faIXhYQmR3jIq0og3cAM4Q14NB0ocNBKn9buk3IpPkmx0bRK8A54QG2Qs2CE6v42Bw==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:I0l5jKCi+ie9uhYdgjfnBJHbTSGGepSWnzoPZ7pV9cCA8U+JMGtuPUDs+DGm9maRCKYQFJ2Nvb3l5P08XrzqAQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:9sHqjZBWMtf/Y+vt5r8Nb7IxWvrSH8JV/LitSXadpX1PyzAT5cKl+aJZnGhyN3qDuE6Dpnh8x2sTh9++/7r6DQ==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:+Mc0jq/W/a+GwyqgILloMAucbZL4YJTgpsN4YMXZlDD/AfA8uzFDZ0mcH7IpXnI+n+yuq8AZxDhq7QjCsCwUCQ==\" value=left-ledger\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:L5s3VFTTIfpadBYCGIQAW2pct6v2BR9J5xpLFgW4PV/QlrnYM2Q0zY2Svpy24yz5/A9WnpmpadW781usvuLRAA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:RZlvrGVc5mRlViom2t9algupC3Lm+Va5FB/ifxtbn9ZGcdKFzVU71JYGogMcZgw2xdW27lA18pobMjrUXj+8DA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:Uu7GvDVIlGKtWQElyaOiQyUwQJvNuaOYcgYNROVb4hyQhCgCWm93JP0H1w9PI3Mn6il8imuW2+/FiQx4Y1UZBw==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:qROnR420GedxI9E777pPWkMgI4vCnYABjgcmWSkWmpT5U2pgwgdTFkVSzWsNS5/ycqydtnObMkcO9tb7gDimBA==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:ZzxTCdudb2eatDjx6AdCAdfqNF1WimF3ky/yetFEGPY2Vy+s0rHwhccdGrA5KdvYcWr/l/ZNwPa/8XJ3AAG5Dg==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:ciK844tLr91mgxpsz4OqHp0EdpQNvmVLA3d+r6vXuQmN9YGSUoi3C2j3jOSlT0dimqfiEYHlY7cpBu7VWmN3AQ==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:WnbFPH/Ijv8SQJMbPTfdOrhhBuuALAPooANN4OoP9Lv3JP2dgXJEaOjzrks2giw+RCUFZTJr8CL6AvrxJlZ1CQ==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Jhno23V8Sf74BnCnI6P5Uvu2MN2sTdbyxYLVtmtLSDY6+LZfhei5NxsWCwlIRe2aC4f2rToA9rO5JLjfNWtQBA==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:YVuRksu1OSv9rfSnTEwp6DUQMs16n+INeVDesAXwrD0fTLRpBHpgxibLtwgESqZHlQQeEMOO/6rWJfy2+FYnDg==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:/JpC4EkWeLZfS/oU/qnHWiwYwBbKzvQR1WUTLhgh0BUoh8SnwLFMG6+/qu2bjEoxOseOOimm1wb8Da2rxE1HAA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:8SaikJlUVowLAFhDxs0l2aiUVRV2v/9sqUFKkwdwppSsyB0Zi6HUrJ6FK11KwNZV0kwXFJeiPcSUPzX/kC5uAw==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:6A/RR42JZCI/e3vAcL0FmT++zhqXXUVo9Slkqd90JePMQM34jOWOnWA5fQFR8+RFnwRZyEBklSXR0TO60+JsCg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:L4Qif48bypD/8VOa6/bU1eq8/6wm4OainpugnUup1CMkGrPev5vbkeifG8WcPOdSLoRkVyY4mc5bWY8flUbPCw==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=left epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:rLmiUNnAkTrcCW0eDOtbe/ymSzEd3bZK7WDSR30A1pQYo99jYrRzmIjvayYb0LHf9msS0nodNnZyvPuXLwsNAQ==\" value=0|1|4|6|8\n","standing":27,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/TARGET.bound b/samples/walk-publication/right-2/TARGET.bound deleted file mode 100644 index 42ea2c0..0000000 --- a/samples/walk-publication/right-2/TARGET.bound +++ /dev/null @@ -1,39 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/importer value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/importer value=receipts -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/importer value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/importer value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/importer value=waiting-command -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf role=writes scope=dep/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 role=writes scope=dep/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 value=sha256:489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 role=writes scope=dep/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c role=writes scope=dep/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c value=sha256:73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 role=writes scope=dep/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 value=sha256:727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a role=writes scope=dep/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a value=sha256:18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 role=writes scope=dep/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 value=sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 diff --git a/samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a b/samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a deleted file mode 100644 index a37cf7e..0000000 --- a/samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:TANhnkTXEd4E/Ol/M11VTUeAXuNjyFc5lAP04XT5OXIcD9Mfw+ZGJxOq1c91o4rcZNpJ8cfYhhzzyPKmdkVjAA==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=5 form=alphabet measure=digest role=writes scope=uses/alternate sig=\"ed25519:sample:xo/TYJUKvEyvM6HMikIZJKd9E0cuBwkmUOrIAwgp0Wn+jCN2u53Ww/8TmXo9YQcxLFzwkXbw9rr5Ad+uV3nUDw==\" value=sha256:1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 b/samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 deleted file mode 100644 index dcfbff4..0000000 --- a/samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286 +++ /dev/null @@ -1,23 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf b/samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf deleted file mode 100644 index 9d2497a..0000000 --- a/samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAirfUMiSly/w6z4Budu4i3QtPz8Y8IQMv62ZntjL8VNg=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 b/samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 deleted file mode 100644 index 52b3ee5..0000000 --- a/samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":32,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 b/samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 deleted file mode 100644 index 48053ff..0000000 --- a/samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793 +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 b/samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 deleted file mode 100644 index e54357f..0000000 --- a/samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:TANhnkTXEd4E/Ol/M11VTUeAXuNjyFc5lAP04XT5OXIcD9Mfw+ZGJxOq1c91o4rcZNpJ8cfYhhzzyPKmdkVjAA==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c b/samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c deleted file mode 100644 index 40dfecf..0000000 --- a/samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:62zzZ9OnBsLJEkn+O8tVl6jg7uwMg7vnfAkf1iJHfMp7Bf4+j9DKL3mE29coovaLlNEAceoTVEeSUZHllUkbCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:TYlNAmrmrbgMrtKQ0PBVj6Y/KDVhzSH8dSRFrQvx2bcmobcDGkWVh8fdOHPeCuDMdyJzF3+TD03iIhdNb2REBQ==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:oSyOstdRazHNIKBGWtgMLYxoae8mqUIq/vymEBhkdhr4lJrg/8ChtPn2grQyzXTo8ezAvX31yhgVeVz1YxZTAQ==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:7VdIc8lKp53sTwmQ5VflU+RH3PtIboUPBFudY/XNV3Jgk1JfTxUNiqBtyB+RymuS4T5Abh8+eofw//qZTj29AA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:wLABMHWt33qQkvLJIGhNwH2rr09R+vlEVeMh3DEOVo6AL+bsDXP/1HE4gBsSnG0JfKLAx/LC4cNwZgZ58g1BDQ==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:0jlxLu6DORH/3AGg+YC0Rz4P4S2rB0V1afrC1T8KPf3CLbYQzYyRg4Ho/cD/tnNFTiy0z/yockd5ixkQHGDhAQ==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:y3J6I48SIPQC1xYrBnosvfRme1c/E3mDAEZlyjbzeA71t5EjI+I5O6sc5hg/pwjyxhLTFfq5tYKNUTR5pypZBQ==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:45i77JVygfgp6IpsAD0HTVEhuOPzu4efSGxUO3a3njRj2m3vkJpM/Qm/VfchHgS047q5FshOu0BP89cz2R2ICw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:DqOKA0iBwPYlYoFhoqxewmqz6uzxrTEveOh2gaj7PrGLY+6Zzygcp543HcoA/BHms1YYX8S9Q8QGyTuhZvjbCg==\" value=\"MCowBQYDK2VwAyEAV3kgv2pVEoLU5H3j2TQIaJjWJgWAGk7Pj24tT6avR6U=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:vaWSB93mSuMBK7SLIupDExAKGM1Js+bazotitcFRgLAKmJL5+mDUuvJKLMTGDO53Cb6cHhEPVBS5HEaOkOlFCA==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:9a0UaCVg6FtmoRMccn+f+VgFUUbPbrl3l6yS44+oWhR1u4o4gpN1XWyqcvKfOAnqospFBUGIn0MA0G9sLmEwAw==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/measurement sig=\"ed25519:sample:/vfb/sAbaTWY9rx9rPcdoG4JMaxtPrvGwG5qRpMFivN2sFYJAg/eencc/5UIu355DKF+hWVL6PmEAO4sHlZyAw==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:4YjsLiSkqmkBtzyWNLpTrVn6RlBsoFmrGl4NGrOjiX2yQlwudCKBnBiqhDh0v96X17jnHOsSZh3hOSr4XbfQCQ==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:zRqdI9nVSqvNfJk9dASNYnY1L5xaY/tYYAFAwyHtlyQrCifuAFSobh1PLCA14tmXftQvO0rR9UqojRmF02PRDA==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:4THLYSXXI/yBg7IZQtcdVqxcdAruazX+SpP5MP7vxA9r9E9X8EGwTGguc/ZivYonQI+2Qoy1TAku3fvXTmBMBw==\" value=sha256:2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:zXRBuWcRqILbY4unGm5NVtI+MT5RxJJelMXBae0aJImd3zGReai8nJm1WahcRL8URlybIVI2KmizhBlCCatKAg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:UpusLbOogE6c+PzovEBiaw3dyRf1qvv4YLYQLAbim1wpxxbNuBG/HcAiIiE+OoTJen32ofFI/rWw2Qq9xp0aDw==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:u8wIkST4AT1Ls/qUfVZiP2DCY4upAZEMrL72HGguaKfArhjA8k+Qnjs/7dbbxLJ3X0jmpExy69S7XhTXkH2wAw==\" value=sha256:702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:5NfWwqdY697bsLL8KBdXE130/R6iAU6CMnP243sie/E0oMK8srgQUpsW/7hEM39f79rMimPslaYpmgG06sS0Dw==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:bprlLIVogYrEG4Ie7X9Kgng4udUgXVOJ1gTwSyv45sq5eUoCmv3h6S1ELcEFV1d7c17KP2LX78MjCWPXWhJzAg==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:3EQJS0eFQwKezq/mOo0NrZauzD4xofcw0pKRJykx0td5e6pYNcOzgI6pwZr1fC1hn5Nw+qINBMIBvrsDJ+CCCA==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:CU7fGNZ2gF9snGIS/FTSoDDodo5K1SkvJgmffv28rivrKPNPCRpoBnrRTz6Jdi8a5mm5zdvFXkYgpeylVoRvAg==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:9jPnwQaWo7gW0SSfbs219gkFLhyJ5HjU0tHkVD0nEhUhnoX1osZxpgxCWcOw/GPmcswqgXSJ2+rDztipRJ51Aw==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:bg7lZnN/2EfRcyop1LKXaPzYA/c9ApIJop1FCbe1ZbLe7A+3Q0/jq5ZS1XnwPH8BU7N8Nm2VbscaoeUPBa45AQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:BcgsnN0JsHQFqdFMxph495D6soKLTk8AZlCSwb5LBRfgU8zbybuMTh8w8m9BGMwt/DzDrTfIf5PTf6dT/l5vAw==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:JkjofCVx4vT6Rzc53D90LT8zNcL+lvVjSXEv5YpotqlBnGwhwy/l7m1HQVdq8YhbSPisfh2NlOk0ymHrvk3zBg==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:Ukwh27d0drh6GkoYctzlN9Tvh+7m9twq/H0IY+J1KpHNtrRRPbZnkJgPkzcC/tFAcHs00JSMxJtmPPp3MxfBCw==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:jnJCUoDf9N4m4ts/axMyCExm6ugzqmM3NQDLcf+4fuW4tRsHgFzTgwooVxWdCuUAn2+/lFk47ZM7LWiHkP7WCA==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:1LmUmmWTZt6I/3j7iT/EHEmmWOBDVnHPf+hLMJDzFlEBhVyErYvkqZWf8b57I2s8Vkn2AQAGkbgohTcYdS6XBA==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:wCUzHgpvyol6pIW/+cR2oMg83BNeLndIaH3N/JSdXmhZDwMazL47SWd5QtSDindHnOjvpTHMLcL4REEO3S7oAg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:4wdjpor9hb+o+MDP1qNNVmLbZOPhwfNUXV0WD1XnI8s5XMbxLRgkHHk2u5w8s1Z27NAVLBON2BRUkG4ZkSQjAg==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:VJ6llFjaBcidi2fdv8v54HLZgd+uyZrdx1IHULP6YuN53ApGYBCsqWsrCu9bwatZOV8KW0IsboKGd3SBWC2vBA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:vyLWjAEsayweVbPeIEutxduwSdrsqbm6pO64uHGv+Z+ZV2RN0MopGm7V6XOfaZW+evYDf1FTVa2rH1dM66r9BQ==\" value=0|1|4|6|8\n","standing":33,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/TARGET.bound b/samples/walk-publication/right-4/TARGET.bound deleted file mode 100644 index aae84df..0000000 --- a/samples/walk-publication/right-4/TARGET.bound +++ /dev/null @@ -1,39 +0,0 @@ -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000 -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/right value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=walk/context value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=digest role=writes scope=uses/peer value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id needs=sample/** role=demands scope=view/walk value=walk@* -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=id role=demands scope=view/evidence value=evidence@8 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=class role=writes scope=keys/importer value=authorize -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=coverage role=writes scope=keys/importer value=receipts -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=public-key role=writes scope=keys/importer value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" -bound-lock/1 at=policy:walk-fixture by=target form=interval measure=resolution role=writes scope=keys/importer value=1..16 -bound-lock/1 at=policy:walk-fixture by=target form=alphabet measure=signer role=writes scope=keys/importer value=waiting-command -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 role=writes scope=dep/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 value=sha256:22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f role=writes scope=dep/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 role=writes scope=dep/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 role=writes scope=dep/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 value=sha256:84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 role=writes scope=dep/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 value=sha256:1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 role=writes scope=dep/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 value=sha256:674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 -bound-lock/1 at=policy:fixture by=target form=alphabet measure=digest needs=fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 role=writes scope=dep/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 value=sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 diff --git a/samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 b/samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 deleted file mode 100644 index f33b3c1..0000000 --- a/samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:1NjlCptbTbdzije7iCQ/FTfXNZq7RERUits/S9OdWdCKc9NbzB1fEiVmCJJs4UZe2WJepdzTbIDy60K3iWNGCQ==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":34,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 b/samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 deleted file mode 100644 index 386f6fc..0000000 --- a/samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":32,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f b/samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f deleted file mode 100644 index 3d44d5f..0000000 --- a/samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/right value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/right value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=right-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/right value="MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/right value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/right value=1..16 diff --git a/samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 b/samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 deleted file mode 100644 index 0fbd7e0..0000000 --- a/samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51 +++ /dev/null @@ -1,22 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 b/samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 deleted file mode 100644 index f110140..0000000 --- a/samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=4 form=alphabet measure=id role=writes scope=sample/after sig=\"ed25519:sample:1NjlCptbTbdzije7iCQ/FTfXNZq7RERUits/S9OdWdCKc9NbzB1fEiVmCJJs4UZe2WJepdzTbIDy60K3iWNGCQ==\" value=local\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=5 form=alphabet measure=digest role=writes scope=uses/alternate sig=\"ed25519:sample:Kr4fB/RbBQVeOV7IU1KgySujEExv0u6hwzfkZcehjIZ50cPJMdkhkPWoawHd5LUSzY+J2ojTzN2kt6m2l6qpDg==\" value=sha256:cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":35,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 b/samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 deleted file mode 100644 index 634bfc6..0000000 --- a/samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004 +++ /dev/null @@ -1 +0,0 @@ -{"text":"# rendered from ledger/owner\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/importer sig=\"ed25519:sample:JXreaAgvhmIlWKxfHjAcns8EBmqv5HZP8GKFpNBAq2Ab7Pb7nRP83BbJc7yiJRzML0VpnDjBcyzlKbfP3CEmCA==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/importer sig=\"ed25519:sample:ig5NzdIErwCMzofEzJFn/5SkEEjMxL5oktvY+2T3S1qi1JrtFUe+nQi0EeC0b185YSNJ6TzTUBaOcyTeYOxEDw==\" value=receipts\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/importer sig=\"ed25519:sample:unqnVmZg8HFYpEjIsr102rkT5eP5C1G9oshadaurG66tFIxZh/I6cgnEGG+D3/UygTDcgeGoDok37bG6mVdVCw==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/importer sig=\"ed25519:sample:i+mPeO2MSaD/+WdAX1BVuOgqps0D9aS4LNhspvajrF2eBia3O8UrzCWY5lbVHgE+vyfF6Gp52LE7KQ+wDXYOAQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/importer sig=\"ed25519:sample:hdAlOskVqRBOGTzMFyqFtX9/PmSYCYvzepqge7g3z3GgYra4Ka18elhRfRheNZ05UMrWIQquIvlM/3dC/FvnDA==\" value=waiting-command\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/local-reader sig=\"ed25519:sample:9VjPAgWn+EzIYowvAUSWh1fDhrxhdOt+0BDFqUp8Urx3eTaqGss89HRxfT6VnZYpoSPZJC+Acu82cif9vuIqAg==\" value=read\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=class role=writes scope=keys/right sig=\"ed25519:sample:ddOu55iMpdp58SdO8x3TopTKajXETsbS9o/j0buCiZiSTxDp1enIbboFt+bEuLO9JOxtpl5JNyA4TusIm4SBDw==\" value=authorize\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=coverage role=writes scope=keys/right sig=\"ed25519:sample:kffAdLm5SMEU0dobWLuSMJVWXxrY2eJ3MMmq/UgtXl+TudDcMrjbzsv8L71/cxNfQ5ku3M5S0qQCFYvvWF58Aw==\" value=*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=public-key role=writes scope=keys/right sig=\"ed25519:sample:MekkyacrYyDC6bYcZCO3uv8ZS4YJ2FVeJOtlqIWAaX4MiilNWqEiLBqEoS16eG0Ug/EHeNYiAKr9XdZVT4s1DQ==\" value=\"MCowBQYDK2VwAyEATA8ZNojigCdchQ/JtZqnS9uEiCSAqHX+X32A+LsJKQ8=\"\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=resolution role=writes scope=keys/right sig=\"ed25519:sample:gbboLNpHHnx4SdzIBmmGns8bVMG252nLz9cmtMwRH5yPGuCYpckiqtiopyTLfLWVKagGM+r4Y1rYQQm3Vv8oCQ==\" value=1..16\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=signer role=writes scope=keys/right sig=\"ed25519:sample:XGDesaR73RSMZwidsY7Ko4nOPnFkk/CwSJPb8656f0IdJHsLMGKHAfkU/EZAQlQuXUPNpw3GHFsFzedw7qnICA==\" value=file\nbound-lock/1 at=policy:walk-fixture by=right epoch=2 form=alphabet measure=id role=writes scope=sample/artifact sig=\"ed25519:sample:qcdZpMBTkO9gOawiMnK7Bd7TpmdZ0nWJIlRPwIffV2NVKxQqsENM2DRmswdEuNsch8VeIzWZxHX1oX6JzvJWAQ==\" value=right\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=bytes role=writes scope=signer/response-bytes sig=\"ed25519:sample:vupqMQC+eicdrMzYoUCG3oWwgVILnoSjo24lmwu8h3VDz9112mclcqJr0T7YnxAHNXP15rfzIMPWFOiT3/luAw==\" value=65536..65536\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=interval measure=milliseconds role=writes scope=signer/timeout sig=\"ed25519:sample:fh4oGUqsi5ZNsR6sCsq2bvhQC6fCuj5ZfhvwvhmP36eUB0wzB2+dDieOTKPz34rHSJggRsHTlCl5MEnB0JbWCg==\" value=5000..5000\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=uses/peer sig=\"ed25519:sample:ciyDBWOfCabiH2ZTxSwJig6iDBcJBvRyMSoAGVO39tOSfcBVEjCgUbZ4eADr9ZLqfedxBv8CKimWxqf8ikGEDA==\" value=sha256:66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=demands scope=view/evidence sig=\"ed25519:sample:r5yXwH1e/eG5wi7XNfx/nJjWxwlHusU+LqlRi4idx2wSjiExhiot+CtvR+uF1kucJzcuC3bdm4xOvwsBKapnBg==\" value=evidence@8\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id needs=sample/** role=demands scope=view/walk sig=\"ed25519:sample:J4rj7pfhxul4IVV+tx1EFymJR6RByVBqwxyOQKnINNVmXk8mCPOWVbYt0rXAwUub8/vN37++SDtfqCvyV4dBCQ==\" value=walk@*\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=digest role=writes scope=walk/context sig=\"ed25519:sample:V2DlcICGNTZP/VcNXbXhYNtEdbM9I5zCrnX54jPUu/sAUQsgM3LBY5Dfpe0Ob7cy759saONhbEZq0Zx9mFVTDw==\" value=sha256:4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=walk/origin sig=\"ed25519:sample:HPVl4ZhL8wHwK643Yk+gM3mgKfjQ6b8BfLubwYRY+awF9C/7DOjCfWzmXAdVr2eKlp7p1+o/+ZmVnHeMhCQnAg==\" value=right-ledger\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/at-classes sig=\"ed25519:sample:iQC6mQQZzVKknsskKCheRqmx6/6GB+rHzZ6ZBfQuYt3f8n6ddL0YqhMk38d+VS8dygXgdIC+QUbkZSCBdAsNCA==\" value=origin|place|receipt|witness|policy\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/digest-algorithms sig=\"ed25519:sample:fu9hWuZpgV4ajfM9JUZFJFY1aCv+DTbfWCammMFXzoo11gObaRkDbz4kCIlbMQCG6iCZBmwljltbxwbtZz/9DQ==\" value=sha256\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/era sig=\"ed25519:sample:sKyaqOGhhcmaplH+hFguvxoTFYfrpI/vh0F+lf/KzEypT3KeoELpMPnhm9vO4mHLmAW6Z7s1uf7RTKsZkSnXAQ==\" value=sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/families sig=\"ed25519:sample:vKKyBfh9EEB+3ZEOJsnE6T1q+e1Onatc4kuxcpULp1AkwGdRjq8p1nPyCtvEDHQblMh8JDIBbTTXEDF9yg9oAQ==\" value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/fields sig=\"ed25519:sample:PPxwW0KjF09+YS17Mu+cfqUE7dgbfna5zHO9EGiJgOhdquKsJPetYTz3HzAkbcPz12yA1hDf8+p/PccoqCNsDQ==\" value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/forms sig=\"ed25519:sample:WTTvhwCjQ20k3+u3exkeZRJBm4hznxdv4/EI/jG3ihdMkQUb/c1FMSPOZFgFL135bntdHoUUMsKTH9jze0zWBg==\" value=alphabet|interval\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/required sig=\"ed25519:sample:DmWZ5Sl98FuEgmWoAd2ZvhPLwORmDhjOWQsUxXeMj2Tgg5Nt6XMYNBC3Q1QAqPKM9+mKbshufctwfRGbwGSoBA==\" value=scope|role|form|measure|value|by|at\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/roles sig=\"ed25519:sample:xWHmxg3Yhw1asUtZzyf1/6cf4E/pkD+c/qUQI+xr0DDICr/8ZJ3+7bUIPMgtMrLzvEQifo96zCTfaP2uKjBFCg==\" value=reads|writes|demands\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/signature-algorithms sig=\"ed25519:sample:g6/uAnLdOm9faXc8Zhbeyj+677PT/gydDw3f6o4nPsyGxjrPsaplDAeMjDJ9bADQyOdBZgTRyUpLHzuuNtrzAQ==\" value=ed25519:sample\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/contract sig=\"ed25519:sample:Cn4fE0t4+BdOINnUeocmfTD0p+yu4W5THUlK6eBx007UrT/nBX3A4B4QHl6C6sD5HH8ulNtGqacZ/lGep906Bw==\" value=whole-region@1\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/fields sig=\"ed25519:sample:EZyi8vHhu+HqD83bgkyDUcn1GD46o3Ak/4kCViJTGXUskMwjiasVG/7gVKMNuUnu+9Q7cpetxLt3a+FG0UttDg==\" value=scope|role|form|measure|value|by|at|epoch|condition|needs\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/metadata-fields sig=\"ed25519:sample:A40+xm5DMV2AAVYp9aQTvNMBdFeF9RbEYJoptcT0d4BaO3dMUzkCi2q+WBrx75tDyNmhp2ZvfWjcph3MRC9aCw==\" value=at|by|condition|epoch|form|measure|role|scope|sig|value\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/projections sig=\"ed25519:sample:UmqrAbOn+jVU9slLZtnGoNKeFiG3E3XEfhdKi48oHfdP7jzKygNQK6CsFCub2ujRAr7oHsMWFfTUvRjye2QzAA==\" value=0:inventory|1:summary|4:summary|6:history|8:history\nbound-lock/1 at=policy:walk-fixture by=right epoch=1 form=alphabet measure=id role=writes scope=wire/walk/resolutions sig=\"ed25519:sample:3SQwgt/uRgTTZZQhMtvYsjI/YcQnA9DfDp2CijeozGp2rpSAac8KWUIwZdkTvnuKdobTG88q58mzdcbBDzF/Cw==\" value=0|1|4|6|8\n","standing":33,"superseded":[],"retracted":[],"forks":[],"grey":[],"refused":[],"vacuous":[]} \ No newline at end of file diff --git a/samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 b/samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 deleted file mode 100644 index faaaaea..0000000 --- a/samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7 +++ /dev/null @@ -1,23 +0,0 @@ -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/left value=authorize -bound-lock/1 at=policy:walk-fixture form=alphabet measure=class role=writes scope=keys/local-reader value=read -bound-lock/1 at=policy:walk-fixture form=alphabet measure=coverage role=writes scope=keys/left value=* -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=walk/origin value=left-ledger -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/era value=sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|uses|walk|sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|epoch|sig|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/contract value=whole-region@1 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/fields value=scope|role|form|measure|value|by|at|epoch|condition|needs -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/metadata-fields value=at|by|condition|epoch|form|measure|role|scope|sig|value -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/profile value=alternate -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/projections value=0:inventory|1:summary|4:summary|6:history|8:history -bound-lock/1 at=policy:walk-fixture form=alphabet measure=id role=writes scope=wire/walk/resolutions value=0|1|4|6|8 -bound-lock/1 at=policy:walk-fixture form=alphabet measure=public-key role=writes scope=keys/left value="MCowBQYDK2VwAyEAEiERO2IaM2dbW0crhzKK2yMwX/NSmnKWG97aP9UYLhg=" -bound-lock/1 at=policy:walk-fixture form=alphabet measure=reads role=writes scope=region/context value=keys/**|wire/**|walk/origin -bound-lock/1 at=policy:walk-fixture form=alphabet measure=signer role=writes scope=keys/left value=file -bound-lock/1 at=policy:walk-fixture form=interval measure=resolution role=writes scope=keys/left value=1..16 diff --git a/src/cli/verb.ts b/src/cli/verb.ts index 1dc139e..e04286d 100644 --- a/src/cli/verb.ts +++ b/src/cli/verb.ts @@ -6,7 +6,6 @@ import {cellsWithReceipts} from '../host/cell-receipts.ts'; import {renderCells} from '@lapxo/topos/cells-view'; import {releasePolicyLines} from '../fold/release-policy.ts'; import {admittedObjects} from '../host/objects.ts'; -import {historyInput} from '../host/history-input.ts'; import {objectFold} from '../fold/object.ts'; import {OBJECT_VIEW} from '@lapxo/topos/wire'; import {toposStanding} from '@lapxo/topos/standing'; @@ -230,7 +229,7 @@ async function view(root: string, under: string | undefined, asked: string, told const views = viewsOf(fold.standing); const cellsView = [...views.entries()].find(([, one]) => !one.shape && one.regions.some((region) => region.name === 'cells')); if (cellsView && name === cellsView[0]) { - const history=historyInput(root,fold.standing,name,signedOwnerLines(storeOf(root))); + const history=signedOwnerLines(storeOf(root)); const {objectHistory}=await import('@lapxo/topos/wire'); const parsed=objectHistory(history); if(parsed.kind!=='fact')throw Error(`REFUSE·wire ${parsed.why}`); @@ -388,21 +387,6 @@ function foldFile(at: string): number { } function foldVerb(root: string, rest: readonly string[]): number | Promise { - const targets = positionalsOf(rest); - const query = valueOf(rest, FLAGS.as)?.split('@')[0]; - if (query === undefined && targets.length > 1) - throw Error(`REFUSE·target ${targets.join(' ')} names more than one fold input`); - // A question's coordinate is not an input file. Every other positional must - // actually name an input; dropping one silently would fold a different place. - for (const target of targets) { - if (query === 'why' || query === NAMED_VIEWS.because) continue; - if (!existsSync(resolve(target))) throw Error(`REFUSE·target ${target} does not name an available place or .bound file`); - const stat = lstatSync(resolve(target)); - if (!stat.isDirectory() && (!stat.isFile() || !target.endsWith(EXTENSION))) - throw Error(`REFUSE·target ${target} is not a place or .bound file`); - if (stat.isDirectory() && !existsSync(join(resolve(target), LOCK))) - throw Error(`REFUSE·target ${target} holds no ${LOCK}`); - } const files = positionalsOf(rest).filter((one) => existsSync(resolve(one)) && !lstatSync(resolve(one)).isDirectory() && one.endsWith(EXTENSION)); const places = positionalsOf(rest).filter((one) => existsSync(resolve(one)) && lstatSync(resolve(one)).isDirectory()); if (files.length === 1 && !places.length && valueOf(rest, FLAGS.as) === undefined) { @@ -411,10 +395,6 @@ function foldVerb(root: string, rest: readonly string[]): number | Promise one !== under); - return foldAt(resolve(under), undefined, restAtPlace); - } // A prospective lot is data, not the place whose authority admits it. const tree = files.length ? root : resolve('.'); const place = under ? relative(tree, resolve(under)).split(sep).join('/') : ''; @@ -451,21 +431,15 @@ async function foldResolved(root: string, under: string | undefined, argv: reado if(as===OBJECT_VIEW){const inputs=positionalsOf(argv).filter(one=>existsSync(resolve(one))&&!lstatSync(resolve(one)).isDirectory());if(inputs.length>1)throw Error('REFUSE·object one history snapshot per fold');const history=inputs.length?claimLinesIn(inputs[0]!):signedOwnerLines(storeOf(root));const held=await admittedObjects(root,history,text=>process.stdout.write(text+'\n'));const cells=objectFold(held.records,held.context);for(const c of cells)process.stdout.write('CELL '+JSON.stringify(c)+'\n');process.stdout.write(`FACT object fold ${cells.length} cells\n`);return EXIT.closed;} const key = valueOf(argv, FLAGS.key); if (as === undefined) { - const published=releaseOf(storeOf(root)); - const declared=published?[...viewsOf(published).values()]:[]; - const inputView=declared.find(one=>!one.shape&&one.regions.some(region=>region.name==='cells')&&published!.some(line=>fieldOf(line,'scope')===`view/${one.name}`&&fieldOf(line,'needs')!=='')); - if(inputView&&declared.every(one=>!one.shape)&&!receiptCheck) - return view(root,under,inputView.name); const exit=await pass(root, entryOf(root), under, argv.includes(FLAGS.check)); if (receiptCheck) return exit; if(exit!==0)return exit; - const local=signedOwnerLines(storeOf(root)); - const signedCells=[...viewsOf(lockStanding(storeOf(root))).values()].find(one=>!one.shape&&one.regions.some(region=>region.name==='cells')); - const history=signedCells?historyInput(root,lockStanding(storeOf(root)),signedCells.name,local):local; + const history=signedOwnerLines(storeOf(root)); const {objectHistory}=await import('@lapxo/topos/wire'); const parsed=objectHistory(history); if(parsed.kind!=='fact')throw Error(`REFUSE·wire ${parsed.why}`); if(parsed.value.objects.length){ + const signedCells=[...viewsOf(history).values()].find(one=>!one.shape&&one.regions.some(region=>region.name==='cells')); if(!signedCells)throw Error('REFUSE·view object cells require a signed cells view'); return view(root,under,signedCells.name, [], undefined, undefined, false); } @@ -508,12 +482,13 @@ function main(argv: readonly string[]): number | Promise { const places = positionalsOf(run === undefined ? argv : argv.slice(1)).filter((one) => existsSync(resolve(one)) && lstatSync(resolve(one)).isDirectory()); if (run !== undefined) { const root=resolve(places[0] ?? '.'); - return withContentStore(storeOf(root),()=>run(root,argv.slice(1),argv),()=>standingOf(root).standing); + return withContentStore(storeOf(root),()=>run(root,argv.slice(1),argv)); } const under = argv[0] ?? ''; - if (under && !under.startsWith('-')) { + if (under && !under.startsWith('-') && places.includes(under)) { const root = resolve('.'); - return foldVerb(root, argv); + const place = relative(root, resolve(under)).split(sep).join('/'); + return foldAt(root, place ? `${place}/` : undefined, argv); } process.stderr.write(`${selfName()}: ${helpLines().join(' · ')}\n`); return EXIT.usage; diff --git a/src/fold/keys.ts b/src/fold/keys.ts index 2f46762..1764d58 100644 --- a/src/fold/keys.ts +++ b/src/fold/keys.ts @@ -80,11 +80,8 @@ export function releaseOf(store: string): readonly string[] | undefined { } function read(store: string, told: readonly string[] = []): Keys { - const delivered = [...ledgerKeyLines(store), ...told].filter(line => /\bsig=/.test(line)); - // Public locks declare local journal classes without delivery envelopes. - // This names journals; authority still verifies the admitted public keys. - const said = [...delivered, ...releaseOf(store) ?? []] - .filter((line) => /(?:^|\s)scope=keys\/[^/\s]+\s/.test(line)); + const said = [...ledgerKeyLines(store), ...releaseOf(store) ?? [], ...told] + .filter((line) => /\bsig=/.test(line) && /(?:^|\s)scope=keys\/[^/\s]+\s/.test(line)); const standing = foldClaims(said).standing.filter((line) => fieldOf(line, 'value') !== 'withdraw') .sort((a, b) => (Number(fieldOf(a, 'epoch')) || 0) - (Number(fieldOf(b, 'epoch')) || 0)); const idOf = (line: string): string => fieldOf(line, 'scope').slice('keys/'.length); diff --git a/src/fold/observed.ts b/src/fold/observed.ts index 0819050..0c90085 100644 --- a/src/fold/observed.ts +++ b/src/fold/observed.ts @@ -265,7 +265,7 @@ export function observedClaims(root: string, store: string, options: { readonly const projection = reader.capsule === undefined ? [] : (asked?.lines ?? []).filter(line=>fieldOf(line,'scope')===`region/${reader.capsule!.region}`&&fieldOf(line,'measure')==='input-projection'&&fieldOf(line,'value')!=='withdraw'); if(projection.length){ if(projection.length!==1||!asked)throw Error('REFUSE·input projection is ambiguous '+reader.module); - const files=[...new Set(reader.where.flatMap(where=>handedAt(root,reader,roleOf,look,where)))].sort().map(place=>{const bytes=observeFile(resolve(root,place))??new Uint8Array();return {place,text:Buffer.from(bytes).toString('utf8'),bytes};}); + const files=[...new Set(reader.where.flatMap(where=>handedAt(root,reader,roleOf,look,where)))].sort().map(place=>({place,text:observeText(resolve(root,place))??''})); const result=readingClosures({root,store,reader:reader.module,speaker,digest:text=>bytesDigest(store,Buffer.from(text)),capsule:asked,region:reader.capsule!.region,projection:fieldOf(projection[0]!,'value'),allowsEmpty:readerAllowsEmpty(standing.flatMap(line=>{const p=parseLifetime(line);return p.kind==='fact'?[p.value.fields]:[];}),reader.module),files,emit:line=>process.stderr.write(line+'\n')}); out.push(...result.lines);ran+=result.executed;read+=result.read-result.opened; return false; diff --git a/src/fold/signers.ts b/src/fold/signers.ts index bf55f7a..c8cd52d 100644 --- a/src/fold/signers.ts +++ b/src/fold/signers.ts @@ -3,7 +3,7 @@ import { authorityOf, isKeyClaim, parse, signersOf } from '@lapxo/topos/wire'; import type { Published, Signer, SignerVerdict } from '@lapxo/topos/wire'; import { verifiesFields } from '../land/sign.ts'; import { fieldOf, selfName } from './claims.ts'; -import { keyFor, lockStanding, releaseOf } from './keys.ts'; +import { keyFor, lockStanding } from './keys.ts'; import { storeRoot } from '../host/ports/store.ts'; import { storeOf } from '../land/ledger.ts'; import { observeText } from '../observe/files.ts'; @@ -62,11 +62,6 @@ export function releaseSigner(lines: readonly string[]): Signer { } export function rootSigner(root: string): { id: string; keyClass: 'authorize'; publicKey: string; coverage: string[]; depth: { lo: number; hi: number }; admittedBy: string[] } { - const published = releaseOf(storeOf(root)); - if (published) { - const signer = releaseSigner(published); - return {id:signer.id,keyClass:'authorize',publicKey:signer.publicKey,coverage:[...signer.coverage],depth:{lo:1,hi:16},admittedBy:[]}; - } const id = keyFor(storeOf(root), 'authorize'); return { id, keyClass: 'authorize', publicKey: publicKeyOf(root, id) ?? '', coverage: ['*'], depth: { lo: 1, hi: 16 }, admittedBy: [] }; } diff --git a/src/host/content-store.ts b/src/host/content-store.ts index 9d1e849..aaa629b 100644 --- a/src/host/content-store.ts +++ b/src/host/content-store.ts @@ -5,8 +5,6 @@ import {observeFile} from '../observe/files.ts'; import {ownLock,ownStore} from '../observe/runner.ts'; import {parse,wireAt} from '@lapxo/topos/wire'; import {ContentNeeded} from './content-needed.ts'; -import {dirname,resolve,relative,isAbsolute} from 'node:path'; -import {realpathSync} from 'node:fs'; // Each invocation carries its place explicitly; asynchronous requests cannot share a mutable current root. const requested = new AsyncLocalStorage<{readonly store:string;readonly policy:()=>readonly string[]}>(); @@ -21,19 +19,6 @@ export function verifiedContent(digest:string, store:string = contentStore(), in if(!wire)throw Error('REFUSE·pin instrument has no admitted wire'); const split=digest.indexOf(':'),algorithm=digest.slice(0,split),hex=digest.slice(split+1); if(split<1||!wire.digests.has(algorithm)||! /^[a-f0-9]+$/.test(hex))throw Error(`REFUSE·pin ${digest} digest is not admitted`); - // A place may deliver an immutable artifact beside its lock. The coordinate - // locates bytes; the digest, never that path, identifies them. - for(const line of contentPolicy()) { - const p=parse(line);if(p.kind!=='fact')continue;const f=p.value.fields; - if(!f.scope?.startsWith('dep/')||f.value!==digest||!f.needs||f.needs.includes('|'))continue; - if(isAbsolute(f.needs)||f.needs.split('/').includes('..'))throw Error(`REFUSE·pin ${digest} artifact coordinate escapes the place`); - const root=dirname(store),path=resolve(root,f.needs),bytes=observeFile(path); - if(bytes===undefined)throw new ContentNeeded(digest); - const escaped=relative(realpathSync(root),realpathSync(path)); - if(escaped==='..'||escaped.startsWith('../')||isAbsolute(escaped))throw Error(`REFUSE·pin ${digest} artifact coordinate escapes the place`); - if(createHash(algorithm).update(bytes).digest('hex')!==hex)throw Error(`REFUSE·pin ${digest} content hash mismatch · coordinate ${f.needs} · not laid`); - return {bytes,path}; - } for(const at of new Set([store,instrument])) { const path=blobAt(at,digest),bytes=observeFile(path); if(bytes===undefined)continue; diff --git a/src/host/history-input.ts b/src/host/history-input.ts deleted file mode 100644 index 22bbaf4..0000000 --- a/src/host/history-input.ts +++ /dev/null @@ -1,35 +0,0 @@ -import {readFileSync,realpathSync} from 'node:fs'; -import {resolve,relative,isAbsolute} from 'node:path'; -import {parse,wireAt} from '@lapxo/topos/wire'; -import {bytesDigest} from './digest.ts'; -import {ownLock} from '../observe/runner.ts'; -import {fieldOf,isWire} from '../fold/claims.ts'; - -/** A native view can ask for an immutable signed history coordinate. - * The wire decodes it; delivery epochs and signatures are never reconstructed. - */ -export function historyInput(root:string,standing:readonly string[],view:string,local:readonly string[]):readonly string[]{ - const declarations=standing.filter(line=>fieldOf(line,'scope')===`view/${view}`&&fieldOf(line,'value')!=='withdraw'); - const inputs=[...new Set(declarations.flatMap(line=>fieldOf(line,'needs').split('|').filter(Boolean)))]; - if(!inputs.length)return local; - const wire=wireAt(ownLock().flatMap(line=>{const p=parse(line);return p.kind==='fact'?[p.value.fields]:[];}),Number.MAX_SAFE_INTEGER); - const algorithm=wire?.digests.values().next().value; - if(!algorithm)throw Error('REFUSE·history no admitted input digest algorithm'); - const pins=new Set(declarations.flatMap(line=>fieldOf(line,'restsOn').split('|').filter(Boolean))); - const history:string[]=[]; - for(const input of inputs){ - if(isAbsolute(input)||input.split('/').includes('..'))throw Error(`REFUSE·history ${input} escapes the place`); - const path=resolve(root,input); - let actual:string; - try{actual=realpathSync(path);}catch{throw Error(`REFUSE·history ${input} input is unavailable`);} - const escaped=relative(realpathSync(root),actual); - if(escaped==='..'||escaped.startsWith('../')||isAbsolute(escaped))throw Error(`REFUSE·history ${input} escapes the place`); - const bytes=readFileSync(path),digest=bytesDigest(bytes,algorithm); - if(!pins.has(digest))throw Error(`REFUSE·history ${input} input digest ${digest} is not named by view/${view}`); - for(const line of bytes.toString('utf8').split('\n').filter(Boolean)){ - if(!isWire(line)||parse(line).kind!=='fact')throw Error(`REFUSE·wire ${input} contains a non-wire history line`); - history.push(line); - } - } - return [...new Set([...local,...history])]; -} diff --git a/src/host/reading-closures.ts b/src/host/reading-closures.ts index d2b73df..921898c 100644 --- a/src/host/reading-closures.ts +++ b/src/host/reading-closures.ts @@ -7,19 +7,16 @@ import {replaceWhole,landShard,shardLines} from '../land/ledger.ts'; import {fieldOf} from '../fold/claims.ts'; import {readOnly} from './read-only.ts'; -type File={readonly place:string;readonly text:string;readonly bytes?:Uint8Array}; -const fileBytes=(file:File):Buffer=>Buffer.from(file.bytes??Buffer.from(file.text)); -const byteEncoded=(file:File):boolean=>!fileBytes(file).equals(Buffer.from(file.text)); -const semanticInput=(file:File):string=>byteEncoded(file)?'base64:'+fileBytes(file).toString('base64'):file.text; +type File={readonly place:string;readonly text:string}; type Plan={scope:string;inputs:readonly string[];needs:readonly string[];resolution:number;line:string}; const fields=(line:string)=>{const got=parse(line);if(got.kind!=='fact')throw Error('REFUSE·input projection contains a non-wire line');return got.value.fields;}; -export const inputLines=(files:readonly File[]):readonly string[]=>files.map(file=>canonical({scope:file.place,form:'alphabet',measure:byteEncoded(file)?'bytes':'text',role:'writes',value:byteEncoded(file)?'base64':'lock',shape:file.place,about:byteEncoded(file)?fileBytes(file).toString('base64'):file.text,by:'host',at:'policy:handed-input'})); +export const inputLines=(files:readonly File[]):readonly string[]=>files.map(file=>canonical({scope:file.place,form:'alphabet',measure:'text',role:'writes',value:'lock',shape:file.place,about:file.text,by:'host',at:'policy:handed-input'})); /** The selected world owns input projection and reading. The host only verifies closures and keeps native count/bytes receipts. */ export function readingClosures(options:{root:string;store:string;reader:string;speaker:string;digest:(text:string)=>string;capsule:Capsule;region:string;projection:string;allowsEmpty?:boolean;files:readonly File[];emit?:(line:string)=>void}):{lines:readonly string[];read:number;opened:number;executed:number}{ const {root,store,reader,speaker,digest:hash,capsule,region,projection,files}=options,emit=options.emit??(()=>{}); - const algorithm=hash('').split(':')[0]!,handed=new Map(files.map(file=>[file.place,file])); + const algorithm=hash('').split(':')[0]!,handed=new Map(files.map(file=>[file.place,file.text])); if(handed.size!==files.length)throw Error('REFUSE·input projection has duplicate handed coordinates'); - const verify=()=>{for(const file of files)if(!readFileSync(join(root,file.place)).equals(fileBytes(file)))throw Error('REFUSE·input changed '+file.place);}; + const verify=()=>{for(const file of files)if(!readFileSync(join(root,file.place)).equals(Buffer.from(file.text)))throw Error('REFUSE·input changed '+file.place);}; verify(); const projected=capsule.ask([{protocol:PROTOCOL,verb:'render',rootScope:'',region:projection,at:1,reads:['**'],lines:inputLines(files),files:[]}])[0]; if(projected?.kind!=='fact'||!Array.isArray(projected.lines))throw Error('REFUSE·input projection '+(projected?.why??'no lines')); @@ -42,7 +39,7 @@ export function readingClosures(options:{root:string;store:string;reader:string; const load=(digest:string)=>{if(!digest.startsWith(algorithm+':')||! /^[a-f0-9]+$/.test(digest.split(':')[1]??''))return;const path=carried(digest);if(!existsSync(path))return;const text=readFileSync(path,'utf8');return hash(text)===digest?text:undefined;}; let read=0,opened=0,executed=0; for(const plan of ordered){actCosts.measure(()=>{ - const closure=[plan.line,canonical({scope:'implementation',role:'writes',form:'alphabet',measure:'digest',value:identity,by:'host',at:'policy:input-identity'}),...plan.inputs.map(input=>canonical({scope:input,role:'writes',form:'alphabet',measure:'digest',value:hash(semanticInput(handed.get(input)!)),...(byteEncoded(handed.get(input)!)?{about:'input:base64'}:{}),by:'host',at:'policy:input-identity'})),...plan.needs.map(need=>canonical({scope:need,role:'writes',form:'alphabet',measure:'digest',value:results.get(need)!.digest,by:'host',at:'policy:input-identity'}))].sort(byBytes).join('\n')+'\n'; + const closure=[plan.line,canonical({scope:'implementation',role:'writes',form:'alphabet',measure:'digest',value:identity,by:'host',at:'policy:input-identity'}),...plan.inputs.map(input=>canonical({scope:input,role:'writes',form:'alphabet',measure:'digest',value:hash(handed.get(input)!),by:'host',at:'policy:input-identity'})),...plan.needs.map(need=>canonical({scope:need,role:'writes',form:'alphabet',measure:'digest',value:results.get(need)!.digest,by:'host',at:'policy:input-identity'}))].sort(byBytes).join('\n')+'\n'; const input=hash(closure),scope='receipts/readings/'+hash(plan.scope).split(':')[1]+'/'+input.split(':')[1],matching=prior.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')==='bytes'&&fieldOf(line,'value')===input).at(-1); const count=matching&&prior.filter(line=>fieldOf(line,'scope')===scope&&fieldOf(line,'measure')==='count'&&fieldOf(line,'by')===by).at(-1); const heldOutput=count&&load(fieldOf(count,'at').replace(/^place:/,'')); @@ -53,7 +50,7 @@ export function readingClosures(options:{root:string;store:string;reader:string; else { if(readOnly())throw Error('REFUSE·preview reading closure is unpaid '+plan.scope); const started=process.hrtime.bigint(); - const dependencies=plan.needs.flatMap(need=>results.get(need)!.lines),answer=capsule.ask([{protocol:PROTOCOL,verb:'read',rootScope:plan.scope,name:plan.scope,region,at:plan.resolution,reads:['**'],lines:[...inputLines(plan.inputs.map(place=>handed.get(place)!)),...dependencies],files:[]}])[0]; + const dependencies=plan.needs.flatMap(need=>results.get(need)!.lines),answer=capsule.ask([{protocol:PROTOCOL,verb:'read',rootScope:plan.scope,name:plan.scope,region,at:plan.resolution,reads:['**'],lines:[...inputLines(plan.inputs.map(place=>({place,text:handed.get(place)!}))),...dependencies],files:[]}])[0]; if(answer?.kind!=='fact'||!Array.isArray(answer.claims))throw Error('REFUSE·reading '+plan.scope+' · '+(answer?.why??'no claims')); lines=answer.claims.map((unknown:any)=>{if(typeof unknown?.scope!=='string'||typeof unknown?.measure!=='string'||typeof unknown?.role!=='string'||!unknown.bound||!['interval','enumerated'].includes(unknown.bound.kind))throw Error('REFUSE·reading malformed claim '+plan.scope);const span=unknown.bound;const text=canonical({scope:unknown.scope,measure:unknown.measure,role:unknown.role,form:span.kind==='interval'?'interval':'alphabet',value:span.kind==='interval'?`${span.lo}..${span.hi}`:Array.isArray(span.values)?span.values.join('|'):'',by,at:'place:'+input});fields(text);return text;}); if(!lines.length&&!options.allowsEmpty)throw Error('REFUSE·reading empty response is not admitted '+plan.scope); diff --git a/test/fold-target.test.ts b/test/fold-target.test.ts deleted file mode 100644 index 3174bcf..0000000 --- a/test/fold-target.test.ts +++ /dev/null @@ -1,26 +0,0 @@ -import {test} from 'node:test'; -import {strictEqual,match,deepStrictEqual} from 'node:assert'; -import {mkdtempSync,writeFileSync,readdirSync,rmSync,mkdirSync} from 'node:fs'; -import {tmpdir} from 'node:os'; -import {join} from 'node:path'; -import {spawnSync} from 'node:child_process'; - -const reader=new URL('../src/cli/verb.ts',import.meta.url).pathname; -test('a named invalid fold input refuses without silently folding its containing place',()=>{ - for(const name of ['one','two']){ - const root=mkdtempSync(join(tmpdir(),'bound-fold-target-')); - try{ - writeFileSync(join(root,'TARGET.bound'),''); - writeFileSync(join(root,name+'.json'),'{}'); - mkdirSync(join(root,'empty')); - const before=readdirSync(root).sort(); - for(const args of [['fold',name+'.json'],['fold','missing.bound'],['fold','empty'],['empty'],[name+'.json'],['fold','.','.']]){ - const target=args.at(-1)!; - const got=spawnSync(process.execPath,[reader,...args],{cwd:root,encoding:'utf8',timeout:10000}); - strictEqual(got.status,1,got.stderr);match(got.stderr,/REFUSE·target/); - match(got.stderr,new RegExp(target.replace('.','\\.'))); - strictEqual(got.stdout,'');deepStrictEqual(readdirSync(root).sort(),before); - } - }finally{rmSync(root,{recursive:true,force:true});} - } -}); diff --git a/test/formed-place.test.ts b/test/formed-place.test.ts deleted file mode 100644 index 9c3b2f1..0000000 --- a/test/formed-place.test.ts +++ /dev/null @@ -1,33 +0,0 @@ -import {test} from 'node:test'; -import {strictEqual,deepStrictEqual,match} from 'node:assert'; -import {mkdtempSync,cpSync,rmSync,readFileSync,writeFileSync,readdirSync} from 'node:fs'; -import {join} from 'node:path'; -import {tmpdir} from 'node:os'; -import {spawnSync} from 'node:child_process'; - -const reader=new URL('../src/cli/verb.ts',import.meta.url).pathname; -for(const name of ['typed','artifacts'])test(`formed ${name} place: native fold, verified inputs, no signer and receipt reuse`,()=>{ - const temp=mkdtempSync(join(tmpdir(),'bound-formed-')),root=join(temp,'place'); - try{ - cpSync(new URL(`../samples/${name}`,import.meta.url),root,{recursive:true}); - const target=readFileSync(join(root,'TARGET.bound'),'utf8'); - const run=()=>spawnSync(process.execPath,[reader,root],{cwd:temp,encoding:'utf8',timeout:15000}); - const first=run();strictEqual(first.status,0,first.stderr); - const cells=(text:string)=>text.split('\n').filter(l=>l.startsWith('CELL ')).map(l=>JSON.parse(l.slice(5))); - const output=cells(first.stdout);strictEqual(output.length,4);strictEqual(output.find(c=>c.cell==='C').state,'FREE'); - deepStrictEqual(output.find(c=>c.cell==='B').ownMarks,['s-B','j-B','r-B']); - strictEqual(readFileSync(join(root,'TARGET.bound'),'utf8'),target); - const second=run();strictEqual(second.status,0,second.stderr);deepStrictEqual(cells(second.stdout),output); - match(second.stdout,/RECEIPTS 4 read · 0 opened · idle · provider 0/); - strictEqual(readdirSync(root).some(f=>f.endsWith('.pem')),false); - const input=join(root,'fixtures/history.txt'),original=readFileSync(input); - writeFileSync(input,Buffer.concat([original,Buffer.from('\n')])); - const corrupted=run();strictEqual(corrupted.status,1);match(corrupted.stderr,/REFUSE·history fixtures\/history.txt input digest/); - writeFileSync(input,original); - const pin=target.split('\n').find(l=>l.includes('scope=uses/sample '))?.match(/value=sha256:([a-f0-9]+)/)?.[1]; - if(!pin)throw Error('sample has no selected standing'); - const artifact=join(root,'fixtures',pin); - writeFileSync(artifact,Buffer.concat([readFileSync(artifact),Buffer.from('\n')])); - const invalid=run();strictEqual(invalid.status,1);match(invalid.stderr,/REFUSE·pin .*content hash mismatch/); - }finally{rmSync(temp,{recursive:true,force:true});} -}); diff --git a/test/reading-closures.test.ts b/test/reading-closures.test.ts index c0442fe..530d92a 100644 --- a/test/reading-closures.test.ts +++ b/test/reading-closures.test.ts @@ -34,21 +34,3 @@ test('empty readings follow the declared policy and retain native zero-row recei assert.throws(()=>read(false),/empty response is not admitted/);assert.equal(calls,2,'cached emptiness cannot override the policy'); }finally{rmSync(root,{recursive:true,force:true});} }); - -for(const name of ['payload.bin','resource.dat'])test('byte input identity preserves non-UTF8 bytes: '+name,()=>{ - const root=mkdtempSync(join(tmpdir(),'bound-byte-closure-')),store=join(root,'.bound'); - try { - let runs=0;const projection=canonical({scope:'resource',role:'reads',form:'alphabet',measure:'reads',value:name,at:'receipt:1',by:'world'}); - const capsule={digest:'sha256:'+'6'.repeat(64),declaration:{regions:{}},lines:[],ask:(requests:any[])=>requests.map(req=>{ - const input=req.lines.find((line:string)=>line.includes('shape='+name)); - assert.match(input,/measure=(bytes|text)/);assert.match(input,/value=(base64|lock)/); - if(req.verb==='render')return {protocol:PROTOCOL,kind:'fact',lines:[projection]}; - runs++;return {protocol:PROTOCOL,kind:'fact',claims:[{scope:'resource',role:'reads',measure:'count',bound:{kind:'interval',lo:1,hi:1}}]}; - })} as Capsule; - const read=()=>{const bytes=readFileSync(join(root,name));return readingClosures({root,store,reader:'reader',speaker:'reader',digest:text=>fullDigest(text,'sha256'),capsule,region:'reading',projection:'inputs',files:[{place:name,text:bytes.toString('utf8'),bytes}]});}; - writeFileSync(join(root,name),Buffer.from([0x80]));const first=read();assert.equal(first.opened,1);assert.equal(read().opened,0);assert.equal(runs,1); - writeFileSync(join(root,name),Buffer.from([0x81]));assert.equal(Buffer.from([0x80]).toString('utf8'),Buffer.from([0x81]).toString('utf8')); - const changed=read();assert.equal(changed.opened,1);assert.equal(runs,2);assert.notDeepEqual(first.lines,changed.lines); - writeFileSync(join(root,name),'base64:gQ==');const textual=read();assert.equal(textual.opened,1);assert.equal(runs,3);assert.notDeepEqual(changed.lines,textual.lines,'binary frame cannot collide with the same base64-prefixed literal text'); - }finally{rmSync(root,{recursive:true,force:true});} -}); diff --git a/vectors/archive-conformance.json b/vectors/archive-conformance.json index cf5e6d9..69b99b3 100644 --- a/vectors/archive-conformance.json +++ b/vectors/archive-conformance.json @@ -1,856 +1,47 @@ { - "scope": "archive/conformance", + "scope": "pipeline/archive-conformance", + "execution": "independent", "measure": "count", "result": "failures", - "execution": "independent", "cases": [ { "program": "runtime", "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" + "tools/samples/run-archive.mjs", + "samples/yes/archive-conformance.json", + "samples/no/archive-conformance.json" ], - "cwd": "samples/typed", - "timeoutMs": 20000, + "cwd": ".", + "timeoutMs": 15000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "^CELL .*\"cell\":\"B\"", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/typed/TARGET.bound", - "samples/typed/artifacts.json", - "samples/typed/artifacts.vector.json", - "samples/typed/contract.json", - "samples/typed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed/fixtures/history.txt", - "samples/typed/no.json", - "samples/typed/range.vector.json", - "samples/typed/receipts.bound", - "samples/typed/wire.json", - "samples/typed/yes.json" - ], - "group": "case-0" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/typed-changed", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ + "pattern": "ARCHIVE specimen-index" + }, { - "stream": "stderr", - "pattern": "REFUSE·pin.*content hash mismatch", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/typed-changed/TARGET.bound", - "samples/typed-changed/artifacts.json", - "samples/typed-changed/artifacts.vector.json", - "samples/typed-changed/contract.json", - "samples/typed-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-changed/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-changed/fixtures/history.txt", - "samples/typed-changed/no.json", - "samples/typed-changed/range.vector.json", - "samples/typed-changed/receipts.bound", - "samples/typed-changed/wire.json", - "samples/typed-changed/yes.json" - ], - "group": "case-1" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/artifacts", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "stream": "stdout", + "pattern": "ARCHIVE route-notes" + }, { "stream": "stdout", - "pattern": "^CELL .*\"cell\":\"B\"", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/artifacts/TARGET.bound", - "samples/artifacts/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/artifacts/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/artifacts/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/artifacts/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/artifacts/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/artifacts/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/artifacts/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/artifacts/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/artifacts/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/artifacts/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/artifacts/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/artifacts/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/artifacts/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/artifacts/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/artifacts/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/artifacts/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/artifacts/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/artifacts/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/artifacts/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/artifacts/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/artifacts/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/artifacts/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/artifacts/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/artifacts/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/artifacts/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/artifacts/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/artifacts/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/artifacts/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/artifacts/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/artifacts/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/artifacts/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/artifacts/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/artifacts/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/artifacts/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/artifacts/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/artifacts/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/artifacts/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/artifacts/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/artifacts/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/artifacts/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/artifacts/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/artifacts/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/artifacts/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/artifacts/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/artifacts/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/artifacts/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/artifacts/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/artifacts/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/artifacts/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/artifacts/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/artifacts/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/artifacts/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/artifacts/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/artifacts/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/artifacts/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/artifacts/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/artifacts/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/artifacts/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/artifacts/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/artifacts/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/artifacts/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/artifacts/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/artifacts/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/artifacts/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", - "samples/artifacts/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/artifacts/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/artifacts/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/artifacts/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/artifacts/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/artifacts/fixtures/history.txt", - "samples/artifacts/receipts.bound" - ], - "group": "case-2" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/artifacts-changed", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ + "pattern": "members equal \u00b7 one archive, two destinations" + }, { - "stream": "stderr", - "pattern": "REFUSE·pin.*content hash mismatch", - "flags": "m" + "stream": "stdout", + "pattern": "REFUSE\u00b7artifact digest-mismatch" + }, + { + "stream": "stdout", + "pattern": "ARTIFACT two unrelated places" } ], "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/artifacts-changed/TARGET.bound", - "samples/artifacts-changed/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/artifacts-changed/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/artifacts-changed/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/artifacts-changed/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/artifacts-changed/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/artifacts-changed/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/artifacts-changed/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/artifacts-changed/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/artifacts-changed/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/artifacts-changed/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/artifacts-changed/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/artifacts-changed/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/artifacts-changed/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/artifacts-changed/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/artifacts-changed/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/artifacts-changed/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/artifacts-changed/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/artifacts-changed/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/artifacts-changed/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/artifacts-changed/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/artifacts-changed/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/artifacts-changed/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/artifacts-changed/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/artifacts-changed/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/artifacts-changed/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/artifacts-changed/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/artifacts-changed/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/artifacts-changed/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/artifacts-changed/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/artifacts-changed/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/artifacts-changed/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/artifacts-changed/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/artifacts-changed/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/artifacts-changed/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/artifacts-changed/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/artifacts-changed/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/artifacts-changed/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/artifacts-changed/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/artifacts-changed/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/artifacts-changed/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/artifacts-changed/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/artifacts-changed/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/artifacts-changed/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/artifacts-changed/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/artifacts-changed/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/artifacts-changed/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/artifacts-changed/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/artifacts-changed/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/artifacts-changed/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/artifacts-changed/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/artifacts-changed/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/artifacts-changed/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/artifacts-changed/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/artifacts-changed/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/artifacts-changed/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/artifacts-changed/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/artifacts-changed/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/artifacts-changed/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/artifacts-changed/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/artifacts-changed/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/artifacts-changed/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/artifacts-changed/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/artifacts-changed/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/artifacts-changed/fixtures/f5904ad8544151149dee4c6fbf4fb9ef91d4820dc72cb05ffd5e6b6fe7e6b65b", - "samples/artifacts-changed/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/artifacts-changed/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/artifacts-changed/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/artifacts-changed/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/artifacts-changed/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/artifacts-changed/fixtures/history.txt", - "samples/artifacts-changed/receipts.bound" - ], - "group": "case-3" + "tools/samples/run-archive.mjs", + "samples/yes/archive-conformance.json", + "samples/no/archive-conformance.json" + ] } - ], - "workspace": { - "mutable": [ - "samples/typed/TARGET.bound", - "samples/typed/artifacts.json", - "samples/typed/artifacts.vector.json", - "samples/typed/contract.json", - "samples/typed/no.json", - "samples/typed/range.vector.json", - "samples/typed/receipts.bound", - "samples/typed/wire.json", - "samples/typed/yes.json", - "samples/typed-changed/TARGET.bound", - "samples/typed-changed/artifacts.json", - "samples/typed-changed/artifacts.vector.json", - "samples/typed-changed/contract.json", - "samples/typed-changed/no.json", - "samples/typed-changed/range.vector.json", - "samples/typed-changed/receipts.bound", - "samples/typed-changed/wire.json", - "samples/typed-changed/yes.json", - "samples/artifacts/TARGET.bound", - "samples/artifacts/receipts.bound", - "samples/artifacts-changed/TARGET.bound", - "samples/artifacts-changed/receipts.bound" - ] - } + ] } diff --git a/vectors/attest-evidence.json b/vectors/attest-evidence.json new file mode 100644 index 0000000..814a408 --- /dev/null +++ b/vectors/attest-evidence.json @@ -0,0 +1,163 @@ +{ + "scope": "contract/published/attest-evidence-view", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "evidence", + "samples/yes/attest-evidence.json", + "samples/no/attest-evidence.json" + ], + "cwd": ".", + "timeoutMs": 25000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "KEY-CLASS attest" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7signer south uncovered" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7signed" + }, + { + "stream": "stdout", + "pattern": "ONCE" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/typed/artifacts.json", + "samples/typed/artifacts.vector.json", + "samples/typed/contract.json", + "samples/typed/no.json", + "samples/typed/range.vector.json", + "samples/typed/wire.json", + "samples/typed/yes.json", + "samples/yes/attest-evidence.json", + "samples/no/attest-evidence.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/historical-build.json b/vectors/historical-build.json new file mode 100644 index 0000000..72a3b20 --- /dev/null +++ b/vectors/historical-build.json @@ -0,0 +1,164 @@ +{ + "scope": "historical-build/conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "historical-build", + "samples/yes/historical-build.json", + "samples/no/historical-build.json" + ], + "cwd": ".", + "timeoutMs": 15000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "RENDERED tsconfig.json \u00b7 view/tsconfig" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view view/unoffered" + }, + { + "stream": "stdout", + "pattern": "BUILD two places; exact configuration; two equal readings; unoffered view refused" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-build-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-build.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/historical-build.json", + "samples/no/historical-build.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/historical-document-views.json b/vectors/historical-document-views.json index 576c39a..59f3150 100644 --- a/vectors/historical-document-views.json +++ b/vectors/historical-document-views.json @@ -7,3091 +7,59 @@ { "program": "runtime", "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "citation-file" + "tools/samples/check-publication.mjs", + "historical-document-views", + "samples/yes/historical-document-views.json", + "samples/no/historical-document-views.json" ], - "cwd": "samples/historical-document-views-1", + "cwd": ".", "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "^RENDERED CITATION\\.cff · view/citation-file · 6 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-0" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "guide" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED docs/guide\\.md · view/guide · 4 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-1" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "reference" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED docs/reference\\.md · view/reference · 11 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-2" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "tsconfig" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED tsconfig\\.json · view/tsconfig · 11 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-3" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "explanation" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED docs/why\\.md · view/explanation · 3 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-4" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "readme-historical" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED README\\.md · view/readme-historical · 9 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-5" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "unoffered" - ], - "cwd": "samples/historical-document-views-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·view view/unoffered asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-2/CITATION.cff", - "samples/historical-document-views-2/README.md", - "samples/historical-document-views-2/TARGET.bound", - "samples/historical-document-views-2/docs/guide.md", - "samples/historical-document-views-2/docs/reference.md", - "samples/historical-document-views-2/docs/why.md", - "samples/historical-document-views-2/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-2/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-2/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-2/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", - "samples/historical-document-views-2/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-2/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-2/manifest.json", - "samples/historical-document-views-2/notes.md", - "samples/historical-document-views-2/process.yml", - "samples/historical-document-views-2/receipts.bound", - "samples/historical-document-views-2/tsconfig.json" - ], - "group": "case-6" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "disagreement" - ], - "cwd": "samples/historical-document-views-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·capsule sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 · text · Error: REFUSE·view conflicting prose names disagreement\\.txt" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-3/CITATION.cff", - "samples/historical-document-views-3/README.md", - "samples/historical-document-views-3/TARGET.bound", - "samples/historical-document-views-3/docs/guide.md", - "samples/historical-document-views-3/docs/reference.md", - "samples/historical-document-views-3/docs/why.md", - "samples/historical-document-views-3/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-3/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-3/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-3/fixtures/963a574952a4b8887ec010b578670e79b106d8f8d93cffe5850a245f9c4a55bd", - "samples/historical-document-views-3/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-3/fixtures/f15ff14fdd060b4fcf1a0b21efe56149a2bbd76fb568d9843e25e86d1c19d2d6", - "samples/historical-document-views-3/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-3/manifest.json", - "samples/historical-document-views-3/notes.md", - "samples/historical-document-views-3/process.yml", - "samples/historical-document-views-3/receipts.bound", - "samples/historical-document-views-3/tsconfig.json" - ], - "group": "case-7" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "citation-file" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED CITATION\\.cff · view/citation-file · 6 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-8" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "guide" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED docs/guide\\.md · view/guide · 4 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-9" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "reference" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED docs/reference\\.md · view/reference · 11 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-10" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "tsconfig" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED tsconfig\\.json · view/tsconfig · 10 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-11" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "explanation" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED docs/why\\.md · view/explanation · 3 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-12" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "readme-historical" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED README\\.md · view/readme-historical · 9 lines\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-13" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "unoffered" - ], - "cwd": "samples/historical-document-views-5", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·view view/unoffered asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-5/CITATION.cff", - "samples/historical-document-views-5/README.md", - "samples/historical-document-views-5/TARGET.bound", - "samples/historical-document-views-5/catalogue.json", - "samples/historical-document-views-5/catalogue.md", - "samples/historical-document-views-5/catalogue.yml", - "samples/historical-document-views-5/docs/guide.md", - "samples/historical-document-views-5/docs/reference.md", - "samples/historical-document-views-5/docs/why.md", - "samples/historical-document-views-5/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-5/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-5/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-5/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-5/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", - "samples/historical-document-views-5/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-5/receipts.bound", - "samples/historical-document-views-5/tsconfig.json" - ], - "group": "case-14" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "disagreement" - ], - "cwd": "samples/historical-document-views-6", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·capsule sha256:f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6 · text · Error: REFUSE·view conflicting prose names disagreement\\.txt" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-6/CITATION.cff", - "samples/historical-document-views-6/README.md", - "samples/historical-document-views-6/TARGET.bound", - "samples/historical-document-views-6/catalogue.json", - "samples/historical-document-views-6/catalogue.md", - "samples/historical-document-views-6/catalogue.yml", - "samples/historical-document-views-6/docs/guide.md", - "samples/historical-document-views-6/docs/reference.md", - "samples/historical-document-views-6/docs/why.md", - "samples/historical-document-views-6/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-6/fixtures/36a1d1bd3318bd51789a13566d35fedcd332e21b860d356f812df85232de131c", - "samples/historical-document-views-6/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-6/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-6/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-6/fixtures/df07c303fd0eb915db27be2216bd897b0da4cb02b2668be73061e567330f29a3", - "samples/historical-document-views-6/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-6/receipts.bound", - "samples/historical-document-views-6/tsconfig.json" - ], - "group": "case-15" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "manifest-render" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED manifest\\.json · view/manifest-render · [0-9]+ lines\\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-16" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "usage-profile" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED notes\\.md · view/usage-profile · [0-9]+ lines\\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-17" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "release-workflow-render" - ], - "cwd": "samples/historical-document-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^RENDERED process\\.yml · view/release-workflow-render · [0-9]+ lines\\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/fixtures/11621f43ec749898f55f6cb2b3c1a3b31b30dec19578fe76515a96e9a9bc0780", - "samples/historical-document-views-1/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-1/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-1/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-1/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json" - ], - "group": "case-18" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "manifest-render" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "HISTORICAL citation, guide, reference; two places; two exact readings; unoffered view refused" + }, { "stream": "stdout", - "pattern": "^RENDERED catalogue\\.json · view/manifest-render · [0-9]+ lines\\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-19" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "usage-profile" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "RENDERED CITATION.cff \u00b7 view/citation-file" + }, { "stream": "stdout", - "pattern": "^RENDERED catalogue\\.md · view/usage-profile · [0-9]+ lines\\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-20" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "release-workflow-render" - ], - "cwd": "samples/historical-document-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "RENDERED docs/guide.md \u00b7 view/guide" + }, + { + "stream": "stdout", + "pattern": "RENDERED docs/reference.md \u00b7 view/reference" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view view/unoffered" + }, + { + "stream": "stdout", + "pattern": "RENDERED tsconfig.json \u00b7 view/tsconfig" + }, + { + "stream": "stdout", + "pattern": "RENDERED docs/why.md" + }, + { + "stream": "stdout", + "pattern": "RENDERED README.md" + }, + { + "stream": "stdout", + "pattern": "9 renders \u00b7 9 same" + }, { "stream": "stdout", - "pattern": "^RENDERED catalogue\\.yml · view/release-workflow-render · [0-9]+ lines\\n$", - "flags": "m" + "pattern": "REFUSE\u00b7view conflicting prose" } ], "inputs": [ + "package.json", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -3137,7 +105,6 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", - "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -3149,7 +116,6 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", - "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -3161,7 +127,6 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", - "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -3197,96 +162,29 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "package.json", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/historical-document-views.json", + "samples/no/historical-document-views.json", + "tools/samples/public-instrument.mjs", "TARGET.bound", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/fixtures/0d6c1b9d62343fb59552eee8b4183744ea26548b6ddc871e83bfc4018f032a66", - "samples/historical-document-views-4/fixtures/46a14293e970faeee2e1734fea9ad0f75e694cc29760abc3e067b21071230ccd", - "samples/historical-document-views-4/fixtures/6f947212b9a635e7eaeabd8df2402e11da57aa9968dc53d5092558e66a1f4d22", - "samples/historical-document-views-4/fixtures/ca2b6fabd88e73eddd25259aa6dc02af27f6b00dba7c73da2ec9d86b7344953f", - "samples/historical-document-views-4/fixtures/f3881d5536d844b5fc6569d591a9c89afad0ab6aa49ac3537638a1ae484923f6", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json" - ], - "group": "case-21" + "dist/host/act-cost.js" + ] } - ], - "workspace": { - "mutable": [ - "samples/historical-document-views-1/CITATION.cff", - "samples/historical-document-views-1/README.md", - "samples/historical-document-views-1/TARGET.bound", - "samples/historical-document-views-1/docs/guide.md", - "samples/historical-document-views-1/docs/reference.md", - "samples/historical-document-views-1/docs/why.md", - "samples/historical-document-views-1/manifest.json", - "samples/historical-document-views-1/notes.md", - "samples/historical-document-views-1/process.yml", - "samples/historical-document-views-1/receipts.bound", - "samples/historical-document-views-1/tsconfig.json", - "samples/historical-document-views-2/CITATION.cff", - "samples/historical-document-views-2/README.md", - "samples/historical-document-views-2/TARGET.bound", - "samples/historical-document-views-2/docs/guide.md", - "samples/historical-document-views-2/docs/reference.md", - "samples/historical-document-views-2/docs/why.md", - "samples/historical-document-views-2/manifest.json", - "samples/historical-document-views-2/notes.md", - "samples/historical-document-views-2/process.yml", - "samples/historical-document-views-2/receipts.bound", - "samples/historical-document-views-2/tsconfig.json", - "samples/historical-document-views-3/CITATION.cff", - "samples/historical-document-views-3/README.md", - "samples/historical-document-views-3/TARGET.bound", - "samples/historical-document-views-3/docs/guide.md", - "samples/historical-document-views-3/docs/reference.md", - "samples/historical-document-views-3/docs/why.md", - "samples/historical-document-views-3/manifest.json", - "samples/historical-document-views-3/notes.md", - "samples/historical-document-views-3/process.yml", - "samples/historical-document-views-3/receipts.bound", - "samples/historical-document-views-3/tsconfig.json", - "samples/historical-document-views-4/CITATION.cff", - "samples/historical-document-views-4/README.md", - "samples/historical-document-views-4/TARGET.bound", - "samples/historical-document-views-4/catalogue.json", - "samples/historical-document-views-4/catalogue.md", - "samples/historical-document-views-4/catalogue.yml", - "samples/historical-document-views-4/docs/guide.md", - "samples/historical-document-views-4/docs/reference.md", - "samples/historical-document-views-4/docs/why.md", - "samples/historical-document-views-4/receipts.bound", - "samples/historical-document-views-4/tsconfig.json", - "samples/historical-document-views-5/CITATION.cff", - "samples/historical-document-views-5/README.md", - "samples/historical-document-views-5/TARGET.bound", - "samples/historical-document-views-5/catalogue.json", - "samples/historical-document-views-5/catalogue.md", - "samples/historical-document-views-5/catalogue.yml", - "samples/historical-document-views-5/docs/guide.md", - "samples/historical-document-views-5/docs/reference.md", - "samples/historical-document-views-5/docs/why.md", - "samples/historical-document-views-5/receipts.bound", - "samples/historical-document-views-5/tsconfig.json", - "samples/historical-document-views-6/CITATION.cff", - "samples/historical-document-views-6/README.md", - "samples/historical-document-views-6/TARGET.bound", - "samples/historical-document-views-6/catalogue.json", - "samples/historical-document-views-6/catalogue.md", - "samples/historical-document-views-6/catalogue.yml", - "samples/historical-document-views-6/docs/guide.md", - "samples/historical-document-views-6/docs/reference.md", - "samples/historical-document-views-6/docs/why.md", - "samples/historical-document-views-6/receipts.bound", - "samples/historical-document-views-6/tsconfig.json" - ] - } + ] } diff --git a/vectors/historical-presentation.json b/vectors/historical-presentation.json new file mode 100644 index 0000000..4ca12c5 --- /dev/null +++ b/vectors/historical-presentation.json @@ -0,0 +1,174 @@ +{ + "scope": "historical-presentation/conformance", + "execution": "independent", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "historical-presentation", + "samples/yes/historical-presentation.json", + "samples/no/historical-presentation.json" + ], + "cwd": ".", + "timeoutMs": 15000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "RENDERED docs/why.md" + }, + { + "stream": "stdout", + "pattern": "RENDERED README.md" + }, + { + "stream": "stdout", + "pattern": "2 renders \u00b7 2 same" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view view/unoffered" + }, + { + "stream": "stdout", + "pattern": "HISTORICAL explanation and README; two places; exact prose; absent evidence not invented; unoffered view refused" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-build-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/historical-presentation-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-build.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-historical-presentation.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/historical-presentation.json", + "samples/no/historical-presentation.json", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ] +} diff --git a/vectors/native-views.json b/vectors/native-views.json index 6c0c62a..9fa7665 100644 --- a/vectors/native-views.json +++ b/vectors/native-views.json @@ -2,503 +2,39 @@ "scope": "native-views/conformance", "measure": "count", "result": "failures", - "execution": "independent", - "parameters": [ - "NATIVE_VIEWS_SIGNER_FILE_0", - "NATIVE_VIEWS_SIGNER_FILE_1", - "NATIVE_VIEWS_SIGNER_FILE_2", - "NATIVE_VIEWS_SIGNER_FILE_3", - "NATIVE_VIEWS_SIGNER_FILE_4", - "NATIVE_VIEWS_SIGNER_FILE_5", - "NATIVE_VIEWS_SIGNER_FILE_6", - "NATIVE_VIEWS_SIGNER_FILE_7", - "NATIVE_VIEWS_SIGNER_FILE_8", - "NATIVE_VIEWS_SIGNER_FILE_9", - "NATIVE_VIEWS_SIGNER_FILE_10", - "NATIVE_VIEWS_SIGNER_FILE_11" - ], - "workspace": { - "mutable": [ - "samples/native-views/place/TARGET.bound", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/receipts.bound", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/035-native-receipt.proposal" - ] - }, "cases": [ { "program": "runtime", "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_0}" + "tools/samples/check-publication.mjs", + "native-views", + "samples/yes/native-views.json", + "samples/no/native-views.json" ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, + "cwd": ".", + "timeoutMs": 25000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/001-north.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_0}" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "verbs fold land sign" + }, { "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/002-north.proposal", - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/002-north.proposal" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "scope=receipts .*measure=digest|measure=digest .*scope=receipts" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view" + }, { "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + "pattern": "KEY-CLASS attest" } ], "inputs": [ + "package.json", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -544,7 +80,6 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", - "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -556,7 +91,6 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", - "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -568,7 +102,6 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", - "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -604,14600 +137,23 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "package.json", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/native-views.json", + "samples/no/native-views.json", + "tools/samples/public-instrument.mjs", "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/003-south.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_1}" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/004-south.proposal", - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/004-south.proposal" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/005-alias.proposal", - "--key", - "alias", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_2}" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/006-alias.proposal", - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/006-alias.proposal" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/002-north.proposal" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:PASS +closed|readings · no encounters computed)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "lines" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "scope=sample/south" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "help" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "verbs fold land sign" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "receipts" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "not-provided-by-this-place" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/007-uncovered.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_1}" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/008-altered.bound" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/009-withdraw.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_0}" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "lines" - ], - "cwd": "samples/native-views/place-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "scope=sample/south" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_3}" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/010-north.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_3}" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/011-north.proposal", - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/011-north.proposal" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/012-south.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_4}" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/013-south.proposal", - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/013-south.proposal" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/014-alias.proposal", - "--key", - "alias", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_5}" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/015-alias.proposal", - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/015-alias.proposal" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/011-north.proposal" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "lines" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "scope=sample/south" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "help" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "verbs fold land sign" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "receipts" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "not-provided-by-this-place" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/016-uncovered.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_4}" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/017-altered.bound" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/018-withdraw.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_3}" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "lines" - ], - "cwd": "samples/native-views/place-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "scope=sample/south" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_6}" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/019-north.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_6}" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/020-north.proposal", - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/020-north.proposal" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/021-south.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_7}" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/022-south.proposal", - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/022-south.proposal" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/023-alias.proposal", - "--key", - "alias", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_8}" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/024-alias.proposal", - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/024-alias.proposal" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/020-north.proposal" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "lines" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "scope=sample/south" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "help" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "verbs fold land sign" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "receipts" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "not-provided-by-this-place" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/025-uncovered.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_7}" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/026-altered.bound" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/027-withdraw.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_6}" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "lines" - ], - "cwd": "samples/native-views/place-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "scope=sample/south" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-3" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_9}" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/028-north.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_9}" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/029-north.proposal", - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/029-north.proposal" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/030-south.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_10}" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/031-south.proposal", - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/031-south.proposal" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/032-alias.proposal", - "--key", - "alias", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_11}" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/033-alias.proposal", - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/033-alias.proposal" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/029-north.proposal" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "evidence" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=north .*scope=sample/north .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=south .*scope=sample/south .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=alias .*scope=sample/alias .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "receipts@0" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/034-native-receipt.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_10}" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "stdoutFile": "samples/native-views/inputs/035-native-receipt.proposal", - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/035-native-receipt.proposal" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/035-native-receipt.proposal" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "evidence" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=north .*scope=sample/north .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=south .*scope=sample/south .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=south .*scope=receipts .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=alias .*scope=sample/alias .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "help" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "verbs fold land sign" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "receipts" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*measure=digest .*scope=receipts", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "not-provided-by-this-place" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·view view/not-provided-by-this-place asks regions nothing renders: never-offered · none is the instrument's own and no capsule the root can run declares it" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/036-uncovered.proposal", - "--key", - "south", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_10}" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer south uncovered sample/north · nothing signed for delivery" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/037-altered.bound" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signed nothing landed · 1 lines a lane signed stand at no epoch this act" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/038-withdraw.proposal", - "--key", - "north", - "--key-file", - "${NATIVE_VIEWS_SIGNER_FILE_9}" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "lines" - ], - "cwd": "samples/native-views/place-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "bound-lock/1" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/native-views/inputs/001-north.proposal", - "samples/native-views/inputs/002-north.proposal", - "samples/native-views/inputs/003-south.proposal", - "samples/native-views/inputs/004-south.proposal", - "samples/native-views/inputs/005-alias.proposal", - "samples/native-views/inputs/006-alias.proposal", - "samples/native-views/inputs/007-uncovered.proposal", - "samples/native-views/inputs/008-altered.bound", - "samples/native-views/inputs/009-withdraw.proposal", - "samples/native-views/inputs/010-north.proposal", - "samples/native-views/inputs/011-north.proposal", - "samples/native-views/inputs/012-south.proposal", - "samples/native-views/inputs/013-south.proposal", - "samples/native-views/inputs/014-alias.proposal", - "samples/native-views/inputs/015-alias.proposal", - "samples/native-views/inputs/016-native-receipt.proposal", - "samples/native-views/inputs/016-uncovered.proposal", - "samples/native-views/inputs/017-altered.bound", - "samples/native-views/inputs/017-native-receipt.proposal", - "samples/native-views/inputs/018-uncovered.proposal", - "samples/native-views/inputs/018-withdraw.proposal", - "samples/native-views/inputs/019-altered.bound", - "samples/native-views/inputs/019-north.proposal", - "samples/native-views/inputs/020-north.proposal", - "samples/native-views/inputs/020-withdraw.proposal", - "samples/native-views/inputs/021-south.proposal", - "samples/native-views/inputs/022-south.proposal", - "samples/native-views/inputs/023-alias.proposal", - "samples/native-views/inputs/024-alias.proposal", - "samples/native-views/inputs/025-uncovered.proposal", - "samples/native-views/inputs/026-altered.bound", - "samples/native-views/inputs/027-withdraw.proposal", - "samples/native-views/inputs/028-north.proposal", - "samples/native-views/inputs/029-north.proposal", - "samples/native-views/inputs/030-south.proposal", - "samples/native-views/inputs/031-south.proposal", - "samples/native-views/inputs/032-alias.proposal", - "samples/native-views/inputs/033-alias.proposal", - "samples/native-views/inputs/034-native-receipt.proposal", - "samples/native-views/inputs/035-native-receipt.proposal", - "samples/native-views/inputs/036-uncovered.proposal", - "samples/native-views/inputs/037-altered.bound", - "samples/native-views/inputs/038-withdraw.proposal", - "samples/native-views/place/TARGET.bound", - "samples/native-views/place/fixtures/19f4e8227ceccec0786b77f8f4cd5e5df065b274c739443b1705b3c30b651369", - "samples/native-views/place/fixtures/1a6f504aeb5c9c094161c51849aec6ec84acc38f3dded97e6661254537c4ea7a", - "samples/native-views/place/fixtures/4b46f14486c9915dc8ab2f06fec867bd0c61af89c08e70b11c7740bc560f9a39", - "samples/native-views/place/fixtures/4f1f7af2b52835ab48acce37b6a85777c04066c532fc6549a658c60f5519e46b", - "samples/native-views/place/fixtures/77edd8b697794c2721dcebef496b61a917a88291a48183a6a8ae236cd5f62972", - "samples/native-views/place/fixtures/b0f30fed099c5c0c32b4a0302735c7c58e2f5229836df06214d1beecda733720", - "samples/native-views/place/fixtures/d32a94f41e0263fb627daef4645d5d36d1f054e6b195dcbd4450c7859288d9f2", - "samples/native-views/place/fixtures/d3af83a469007c25698733883ab8577c918367c48714adf1704a9e0a38ddc3b2", - "samples/native-views/place-1/TARGET.bound", - "samples/native-views/place-1/fixtures/06731d2a78f6592e72eb47d03ad966d38c5f8fe3dfe6aad8c0231a70450b1f00", - "samples/native-views/place-1/fixtures/24935fa979aff1319b9d2d86f7b37480996b7625c89b4e88c2ac204286a2fc07", - "samples/native-views/place-1/fixtures/24a00291165ca3b80c6251d7cd8d4956c1e1a12b2bb8a600ab68f1934fd27539", - "samples/native-views/place-1/fixtures/33e0889b10153e2c65fd6d32aad9fea5a0351b76cc91ac336ba448f59eacbbdb", - "samples/native-views/place-1/fixtures/846115061ae122a0188464d96cf38c56f704c491185e69a1b2ff1867122a2258", - "samples/native-views/place-1/fixtures/a1daafae647e9e0599f0a35b7096f5b5409b38a04b9a3d6763909e13167d3c79", - "samples/native-views/place-1/fixtures/a4393c5dffec58718ed1666fc74c471c330626904f0d42e04191a1a6cbc31a48", - "samples/native-views/place-1/fixtures/ab225a74b3de65a39ad6ebbb6d5a83201d514a653d1627bbb5b493cfeb87fa0d", - "samples/native-views/place-1/fixtures/baba820e13132d30dd5602bec0391b69f526d71bb53dc1ec754e5a22231b55a7", - "samples/native-views/place-1/fixtures/ecb9df9dc60024cc0dc4afae213e5bc919c27a350ce60e711e4d0d75cd497d54", - "samples/native-views/place-1/receipts.bound", - "samples/native-views/place-2/TARGET.bound", - "samples/native-views/place-2/fixtures/0f8b979f74ed868082f46bba66a53e0a2a89bfbf4fea8352414ccf0a20e95fd3", - "samples/native-views/place-2/fixtures/2dfe43a2b52361991d29e378f95ca95b5f6c18ad7fe2d78e9c8765c9accecbac", - "samples/native-views/place-2/fixtures/3828ead137f45e7b97c2919c410c1406ac896acd28a681f600d4813528fd52ab", - "samples/native-views/place-2/fixtures/48b81950aa9d042b69ded5ac316aa46efecd1a5906c5a2391c2aa386a893cfc8", - "samples/native-views/place-2/fixtures/622d145995758daa93c08032a71babda11b37c94690f2ebc6ea965660b1f2c09", - "samples/native-views/place-2/fixtures/62596d83d9166516cbd30ce1554d0ef3681d667cfd6aeb88acff18e92c5d992c", - "samples/native-views/place-2/fixtures/6e10c17181359c41bba04a4a0cf85946addca058dae9ea8ee3e32ad68b6a297d", - "samples/native-views/place-2/fixtures/f9c25e361e986fb0adbe06e2309e1a2555a7a85b0a5ef15818fe7ad86aa3ae81", - "samples/native-views/place-2/receipts.bound", - "samples/native-views/place-3/TARGET.bound", - "samples/native-views/place-3/fixtures/0e14f6ad32862160149859fa661bf9d2ec4b40af9bb119fbf66cbf59433b3b7d", - "samples/native-views/place-3/fixtures/32f6850b826526bf7d11fe5df88a5eab10566f6c3f21df9bd6cfccc2f17aa0b7", - "samples/native-views/place-3/fixtures/a8ed3fa1c9fed4aec9bfa44ef18b11ee1b22cd568a52f268c1c43a8b2fd493a4", - "samples/native-views/place-3/fixtures/aa6bfbe0acec2cef70c88b77ece8e4bf847b337697ebf0b9b43baa0553764700", - "samples/native-views/place-3/fixtures/d6a0a696ea1fec42e6b6d8745d9e0384e864b8fd2462317bd8fc81234ac24247", - "samples/native-views/place-3/receipts.bound", - "samples/native-views/place-4/TARGET.bound", - "samples/native-views/place-4/fixtures/0b1bc328c870f58edc524dc8c469958074e90e4486a6864348b3e49f45e26f42", - "samples/native-views/place-4/fixtures/87e40aa60c28bf28968905c4ffd967420fbff2a9eba3ae6b9e6029c6514d6681", - "samples/native-views/place-4/fixtures/980df0adb76b1c1176e6ec95d333626c0b23ec1da6c6741edf69627e857f57b7", - "samples/native-views/place-4/receipts.bound" - ], - "group": "samples/native-views/place-4" + "dist/host/act-cost.js" + ] } - ] + ], + "execution": "independent" } diff --git a/vectors/process/cli-case.mjs b/vectors/process/cli-case.mjs index 722d8e0..e0bb68b 100644 --- a/vectors/process/cli-case.mjs +++ b/vectors/process/cli-case.mjs @@ -12,7 +12,7 @@ try { writeFileSync(input, 'bound-lock/1 at=policy:fixture by=target form=alphabet measure=id role=writes scope=fixture value=present\n'); args = ['fold', input]; } else if (mode === 'check') args = ['fold', '--check']; - else if (mode === 'usage') args = []; + else if (mode === 'usage') args = ['unsupported-verb']; else throw new Error('Undeclared CLI case'); const result = spawnSync(process.execPath, [reader, ...args], { cwd: root, encoding: 'utf8', timeout: 15000 }); if (result.error || result.signal || result.status === null) throw result.error ?? new Error(result.signal ?? 'No process status'); diff --git a/vectors/program-views.json b/vectors/program-views.json index 24c3c32..42b7252 100644 --- a/vectors/program-views.json +++ b/vectors/program-views.json @@ -7,964 +7,39 @@ { "program": "runtime", "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "programs" + "tools/samples/check-publication.mjs", + "program-views", + "samples/yes/program-views.json", + "samples/no/program-views.json" ], - "cwd": "samples/program-views-1", + "cwd": ".", "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/collect unread blocked=none missing=none unread=proof/collect carry=false\nDEMAND tasks/catalogue blocked blocked=tasks/collect missing=none unread=proof/catalogue carry=false\nNEXT tasks/collect\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/program-views-1/TARGET.bound", - "samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9", - "samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-1/receipts.bound" - ], - "group": "case-0" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "card" - ], - "cwd": "samples/program-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/collect unread blocked=none missing=none unread=proof/collect carry=false\nDEMAND tasks/catalogue blocked blocked=tasks/collect missing=none unread=proof/catalogue carry=false\nNEXT tasks/collect\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/program-views-1/TARGET.bound", - "samples/program-views-1/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-1/fixtures/4d4e814f413f5df33672605d16d35abfe7b173bc2ad1cbcdbb2c4b4837e38fe9", - "samples/program-views-1/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-1/receipts.bound" - ], - "group": "case-1" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "programs" - ], - "cwd": "samples/program-views-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-status · Error: REFUSE·program dependency cycle tasks/catalogue" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/program-views-2/TARGET.bound", - "samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca", - "samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-2/receipts.bound" - ], - "group": "case-2" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "card" - ], - "cwd": "samples/program-views-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-card · Error: REFUSE·program dependency cycle tasks/catalogue" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/program-views-2/TARGET.bound", - "samples/program-views-2/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-2/fixtures/39ad10fd8571cec896f2945648d2ce5011f9fa9fb4be504d10e663a226d45eca", - "samples/program-views-2/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-2/receipts.bound" - ], - "group": "case-3" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "programs" - ], - "cwd": "samples/program-views-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/prepare unread blocked=none missing=none unread=proof/prepare carry=false\nDEMAND tasks/transform blocked blocked=tasks/prepare missing=none unread=proof/transform carry=false\nNEXT tasks/prepare\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/program-views-3/TARGET.bound", - "samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c", - "samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-3/receipts.bound" - ], - "group": "case-4" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "card" - ], - "cwd": "samples/program-views-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "PROGRAM deadline=unread closed=false" + }, { "stream": "stdout", - "pattern": "^PROGRAM deadline=unread closed=false\nDEMAND tasks/prepare unread blocked=none missing=none unread=proof/prepare carry=false\nDEMAND tasks/transform blocked blocked=tasks/prepare missing=none unread=proof/transform carry=false\nNEXT tasks/prepare\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/program-views-3/TARGET.bound", - "samples/program-views-3/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-3/fixtures/7262f862abc238fde86e69a7029755fe0d0458c14e73b6083f97033614f0b05c", - "samples/program-views-3/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-3/receipts.bound" - ], - "group": "case-5" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "programs" - ], - "cwd": "samples/program-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ + "pattern": "DEMAND tasks/collect unread" + }, { - "stream": "stderr", - "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-status · Error: REFUSE·program dependency cycle tasks/prepare" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/program-views-4/TARGET.bound", - "samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f", - "samples/program-views-4/receipts.bound" - ], - "group": "case-6" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "card" - ], - "cwd": "samples/program-views-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ + "stream": "stdout", + "pattern": "DEMAND tasks/prepare unread" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7program dependency cycle" + }, { - "stream": "stderr", - "pattern": "REFUSE·capsule sha256:85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc · demand-card · Error: REFUSE·program dependency cycle tasks/prepare" + "stream": "stdout", + "pattern": "PROGRAMS two places; card and programs; two equal readings" } ], "inputs": [ + "package.json", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -1010,7 +85,6 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", - "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -1022,7 +96,6 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", - "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -1034,7 +107,6 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", - "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -1070,27 +142,27 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "package.json", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/program-views.json", + "samples/no/program-views.json", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/public-instrument.mjs", "TARGET.bound", - "samples/program-views-4/TARGET.bound", - "samples/program-views-4/fixtures/20e2f4c205e096255c3dbf64376aac86baeb34509b532dd88507a8dcaa92782b", - "samples/program-views-4/fixtures/85416f13411412e5fd2bc50cf20149f24ec9c82e3515ee5a9c2ec52fbba08cfc", - "samples/program-views-4/fixtures/c89336fc995e270cdaf3a3cdcdf3c1414a6635a5525ecc5782e45bf7d2c7855f", - "samples/program-views-4/receipts.bound" - ], - "group": "case-7" + "dist/host/act-cost.js" + ] } - ], - "workspace": { - "mutable": [ - "samples/program-views-1/TARGET.bound", - "samples/program-views-1/receipts.bound", - "samples/program-views-2/TARGET.bound", - "samples/program-views-2/receipts.bound", - "samples/program-views-3/TARGET.bound", - "samples/program-views-3/receipts.bound", - "samples/program-views-4/TARGET.bound", - "samples/program-views-4/receipts.bound" - ] - } + ] } diff --git a/vectors/prose-views.json b/vectors/prose-views.json new file mode 100644 index 0000000..b9f8972 --- /dev/null +++ b/vectors/prose-views.json @@ -0,0 +1,155 @@ +{ + "scope": "prose-views/conformance", + "measure": "count", + "result": "failures", + "cases": [ + { + "program": "runtime", + "args": [ + "tools/samples/check-publication.mjs", + "prose-views", + "samples/yes/prose-views.json", + "samples/no/prose-views.json" + ], + "cwd": ".", + "timeoutMs": 25000, + "maxBytes": 1048576, + "exit": 0, + "matches": [ + { + "stream": "stdout", + "pattern": "PROSE three named views; two places; two exact readings; disagreement refused" + }, + { + "stream": "stdout", + "pattern": "REFUSE\u00b7view conflicting prose" + } + ], + "inputs": [ + "package.json", + "dist/cli/accept.js", + "dist/cli/args.js", + "dist/cli/host.js", + "dist/cli/names.js", + "dist/cli/observe.js", + "dist/cli/owner.js", + "dist/cli/pass.js", + "dist/cli/place.js", + "dist/cli/takes.js", + "dist/cli/verb.js", + "dist/fold/ceilings.js", + "dist/fold/claims.js", + "dist/fold/closed.js", + "dist/fold/configures.js", + "dist/fold/digests.js", + "dist/fold/evidence.js", + "dist/fold/fold-worker.js", + "dist/fold/kept.js", + "dist/fold/keys.js", + "dist/fold/laid.js", + "dist/fold/nos.js", + "dist/fold/object.js", + "dist/fold/observed.js", + "dist/fold/opened.js", + "dist/fold/own.js", + "dist/fold/paid.js", + "dist/fold/place-inputs.js", + "dist/fold/places.js", + "dist/fold/rank.js", + "dist/fold/reach.js", + "dist/fold/readers.js", + "dist/fold/receipts.js", + "dist/fold/region-declarations.js", + "dist/fold/region.js", + "dist/fold/release-policy.js", + "dist/fold/resolved.js", + "dist/fold/roles.js", + "dist/fold/second.js", + "dist/fold/shards.js", + "dist/fold/signed.js", + "dist/fold/signers.js", + "dist/fold/stranger.js", + "dist/fold/views.js", + "dist/fold/wire.js", + "dist/fold/zoom.js", + "dist/host/adapters/keys/ed25519.js", + "dist/host/adapters/modules/javascript.js", + "dist/host/adapters/transport/http.js", + "dist/host/archive.js", + "dist/host/capsule-process.js", + "dist/host/capsule.js", + "dist/host/cell-receipts.js", + "dist/host/content-needed.js", + "dist/host/content-store.js", + "dist/host/digest.js", + "dist/host/hash.js", + "dist/host/io.js", + "dist/host/lifetime.js", + "dist/host/located.js", + "dist/host/objects.js", + "dist/host/ports/ingress.js", + "dist/host/ports/signing.js", + "dist/host/ports/store.js", + "dist/host/ports/transport.js", + "dist/host/process-lifetime.js", + "dist/host/provide.js", + "dist/host/read-only.js", + "dist/host/release.js", + "dist/host/selected-capsules.js", + "dist/host/selected-topos.js", + "dist/host/signing.js", + "dist/host/source-content.js", + "dist/host/timing.js", + "dist/host/walk.js", + "dist/judge/late.js", + "dist/judge/take.js", + "dist/judge/widening.js", + "dist/land/act.js", + "dist/land/alias.js", + "dist/land/held.js", + "dist/land/inert.js", + "dist/land/leaving.js", + "dist/land/ledger.js", + "dist/land/owned.js", + "dist/land/sign.js", + "dist/land/vouched.js", + "dist/land/withdraw.js", + "dist/observe/files.js", + "dist/observe/identity.js", + "dist/observe/match.js", + "dist/observe/regions.js", + "dist/observe/run.js", + "dist/observe/runner.js", + "dist/render/capsule.js", + "dist/render/field.js", + "dist/render/names.js", + "dist/render/open.js", + "dist/render/page.js", + "dist/render/receipts.js", + "dist/render/shape.js", + "dist/render/target.js", + "dist/render/view.js", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/prose-views.json", + "samples/no/prose-views.json", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/public-instrument.mjs", + "TARGET.bound", + "dist/host/act-cost.js" + ] + } + ], + "execution": "independent" +} diff --git a/vectors/query-views.json b/vectors/query-views.json index 14f127b..6e2e5cc 100644 --- a/vectors/query-views.json +++ b/vectors/query-views.json @@ -6,698 +6,35 @@ { "program": "runtime", "args": [ - "../../dist/cli/verb.js", - "fold", - "source.txt", - "--as", - "why" + "tools/samples/check-publication.mjs", + "query-views", + "samples/yes/query-views.json", + "samples/no/query-views.json" ], - "cwd": "samples/query-views-1", - "timeoutMs": 20000, + "cwd": ".", + "timeoutMs": 15000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "^## why\n\n```\nWHY sample/selection · policy:query · source\n```\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/query-views-1/TARGET.bound", - "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", - "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", - "samples/query-views-1/receipts.bound", - "samples/query-views-1/source.txt" - ], - "group": "case-0" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "not-declared.txt", - "--as", - "why" - ], - "cwd": "samples/query-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^## why\n\n```\nOPEN not-declared\\.txt\n```\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/query-views-1/TARGET.bound", - "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", - "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", - "samples/query-views-1/receipts.bound", - "samples/query-views-1/source.txt" - ], - "group": "case-1" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "missing" - ], - "cwd": "samples/query-views-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·view view/missing asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/query-views-1/TARGET.bound", - "samples/query-views-1/fixtures/1f14abdc6e532ace5e4bbd452c3056a95ea12a2a283d5de41f797e9c077be9e8", - "samples/query-views-1/fixtures/b577902d6b54e7e39660904d61ba4e4af84b0d59e20b9c2bb48201e506c00fd1", - "samples/query-views-1/receipts.bound", - "samples/query-views-1/source.txt" - ], - "group": "case-2" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "release.txt", - "--as", - "why" - ], - "cwd": "samples/query-views-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "WHY +sample/selection" + }, { "stream": "stdout", - "pattern": "^## why\n\n```\nWHY sample/package · policy:query · release\n```\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/query-views-2/TARGET.bound", - "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", - "samples/query-views-2/receipts.bound", - "samples/query-views-2/release.txt" - ], - "group": "case-3" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "not-declared.txt", - "--as", - "why" - ], - "cwd": "samples/query-views-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "WHY +sample/package" + }, { "stream": "stdout", - "pattern": "^## why\n\n```\nOPEN not-declared\\.txt\n```\n$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/query-views-2/TARGET.bound", - "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", - "samples/query-views-2/receipts.bound", - "samples/query-views-2/release.txt" - ], - "group": "case-4" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "missing" - ], - "cwd": "samples/query-views-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ + "pattern": "OPEN +not-declared.txt" + }, { - "stream": "stderr", - "pattern": "REFUSE·view view/missing asks regions nothing renders: not-offered · none is the instrument's own and no capsule the root can run declares it" + "stream": "stdout", + "pattern": "REFUSE\u00b7view" } ], "inputs": [ + "package.json", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -743,7 +80,6 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", - "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -755,7 +91,6 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", - "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -767,7 +102,6 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", - "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -803,25 +137,24 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "package.json", + "tools/samples/check-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/query-views.json", + "samples/no/query-views.json", + "tools/samples/public-instrument.mjs", "TARGET.bound", - "samples/query-views-2/TARGET.bound", - "samples/query-views-2/fixtures/3e39c2ded58c467883eba8f68ec1bd79e970a5da7f23e58fcb86237446a1b5e8", - "samples/query-views-2/receipts.bound", - "samples/query-views-2/release.txt" - ], - "group": "case-5" + "dist/host/act-cost.js" + ] } ], - "execution": "independent", - "workspace": { - "mutable": [ - "samples/query-views-1/TARGET.bound", - "samples/query-views-1/receipts.bound", - "samples/query-views-1/source.txt", - "samples/query-views-2/TARGET.bound", - "samples/query-views-2/receipts.bound", - "samples/query-views-2/release.txt" - ] - } + "execution": "independent" } diff --git a/vectors/signing-port.json b/vectors/signing-port.json index 84613cb..062c3ea 100644 --- a/vectors/signing-port.json +++ b/vectors/signing-port.json @@ -2,371 +2,31 @@ "scope": "signing-port/conformance", "measure": "count", "result": "failures", - "execution": "independent", - "parameters": [ - "SIGNING_PORT_SIGNER_REGISTRY_0", - "SIGNING_PORT_SIGNER_MATERIAL_0", - "SIGNING_PORT_SIGNER_FILE_2", - "SIGNING_PORT_SIGNER_REGISTRY_1", - "SIGNING_PORT_SIGNER_MATERIAL_1", - "SIGNING_PORT_SIGNER_REGISTRY_2", - "SIGNING_PORT_SIGNER_MATERIAL_2", - "SIGNING_PORT_SIGNER_REGISTRY_3", - "SIGNING_PORT_SIGNER_MATERIAL_3", - "SIGNING_PORT_SIGNER_REGISTRY_4", - "SIGNING_PORT_SIGNER_MATERIAL_4", - "SIGNING_PORT_SIGNER_REGISTRY_5", - "SIGNING_PORT_SIGNER_MATERIAL_5", - "SIGNING_PORT_SIGNER_REGISTRY_6", - "SIGNING_PORT_SIGNER_MATERIAL_6", - "SIGNING_PORT_SIGNER_REGISTRY_7", - "SIGNING_PORT_SIGNER_MATERIAL_7", - "SIGNING_PORT_SIGNER_REGISTRY_8", - "SIGNING_PORT_SIGNER_MATERIAL_8", - "SIGNING_PORT_SIGNER_REGISTRY_9", - "SIGNING_PORT_SIGNER_MATERIAL_9", - "SIGNING_PORT_SIGNER_REGISTRY_10", - "SIGNING_PORT_SIGNER_MATERIAL_10", - "SIGNING_PORT_SIGNER_REGISTRY_11", - "SIGNING_PORT_SIGNER_MATERIAL_11", - "SIGNING_PORT_SIGNER_REGISTRY_12", - "SIGNING_PORT_SIGNER_MATERIAL_12", - "SIGNING_PORT_SIGNER_REGISTRY_13", - "SIGNING_PORT_SIGNER_MATERIAL_13" - ], - "workspace": { - "mutable": [ - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/inputs/file-signature.proposal", - "samples/signing-port/inputs/002-signed.proposal" - ] - }, "cases": [ { "program": "runtime", "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "device", - "--key-file", - "${SIGNING_PORT_SIGNER_FILE_2}" + "tools/samples/check-publication.mjs", + "signing", + "samples/yes/signing-port.json", + "samples/no/signing-port.json" ], - "cwd": "samples/signing-port/file-1", - "timeoutMs": 20000, + "cwd": ".", + "timeoutMs": 15000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_0}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_0}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "device", - "--signer", - "local" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "SIGNING file-command-equivalent; one invocation per lot; atomic refusals" + }, { "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" + "pattern": "REFUSE" } ], "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_1}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_1}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "--key", - "device", - "--key-file", - "${SIGNING_PORT_SIGNER_FILE_2}", - "../inputs/001-lot.proposal" - ], - "cwd": "samples/signing-port/file-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -412,7 +72,6 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", - "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -424,7 +83,6 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", - "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -436,7 +94,6 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", - "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -472,1677 +129,22 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "package.json", + "tools/samples/check-publication.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/signing-port.json", + "samples/no/signing-port.json", + "tools/samples/public-instrument.mjs", "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_2}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_2}" - }, - "stdoutFile": "samples/signing-port/inputs/file-signature.proposal" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "--key", - "device", - "--signer", - "local", - "../inputs/001-lot.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_3}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_3}" - }, - "stdoutFile": "samples/signing-port/inputs/002-signed.proposal", - "stdoutEquals": "samples/signing-port/inputs/file-signature.proposal" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/002-signed.proposal" - ], - "cwd": "samples/signing-port/file-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_4}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_4}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/002-signed.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_5}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_5}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--signer", - "local" - ], - "cwd": "samples/signing-port/absent-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer device missing or conflicting keys/device" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_6}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_6}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "device", - "--signer", - "local", - "../inputs/003-lot.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer device command failed · status=7 · signal=none" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_7}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_7}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "device", - "--signer", - "local", - "../inputs/003-lot.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer device timeout · status=none · signal=SIGKILL" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_8}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_8}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "device", - "--signer", - "local", - "../inputs/003-lot.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer device invalid response" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_9}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_9}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "device", - "--signer", - "local", - "../inputs/003-lot.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer device invalid response" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_10}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_10}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "--signer", - "file", - "../inputs/003-lot.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·signer device CLI selection conflicts with declaration" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_11}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_11}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "--out", - "ignored", - "../inputs/003-lot.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 2, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·flag unknown option --out" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_12}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_12}" - } - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--signer", - "local", - "../inputs/004-invalid.proposal" - ], - "cwd": "samples/signing-port/command-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·wire batch `bound-lock/0` is a version this reader does not know · nothing signed or landed" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/signing-port/absent-3/TARGET.bound", - "samples/signing-port/command-2/TARGET.bound", - "samples/signing-port/command-2/fixtures/1320b80cf23c20933f81da8aedb56250ba55b24073831ecf1e85e8cac23e9d15", - "samples/signing-port/command-2/fixtures/8f3fe4e3db64928a98659c0337372d3d833c807a4b4a41c2154170e32a38cdf5", - "samples/signing-port/command-2/fixtures/9d534d7f1877a5726480250205b88f3aa7ce818fbc7fc7eeeb225ad6280ca746", - "samples/signing-port/command-2/fixtures/edfe9dc200bedaba9da5630da4d607cdf5fe89f2c9a82dc7937a9e027ea6c025", - "samples/signing-port/file-1/TARGET.bound", - "samples/signing-port/file-1/fixtures/768cdbdffa65292c1ce4f6134c9c1a8e7c2f7987078bfbf907827c5d5fa79692", - "samples/signing-port/file-1/fixtures/921cdd7ef3c0006b98a01ababbce98ac402dbc642b1121eb2f78e531d6a6c0d7", - "samples/signing-port/file-1/fixtures/e965e752757ddaf33add05265f1328002ca127a67085a9d22cb4885d1c724630", - "samples/signing-port/file-1/fixtures/ed187910cbae56781dbd50057469fc8eacbaa2c35cf6e11c76a8d352fb524ebf", - "samples/signing-port/inputs/001-lot.proposal", - "samples/signing-port/inputs/002-signed.proposal", - "samples/signing-port/inputs/003-lot.proposal", - "samples/signing-port/inputs/004-invalid.proposal", - "samples/signing-port/inputs/file-signature.proposal" - ], - "env": { - "BOUND_SIGNERS": "${SIGNING_PORT_SIGNER_REGISTRY_13}", - "PORT_TEST_KEY": "${SIGNING_PORT_SIGNER_MATERIAL_13}" - } + "dist/host/act-cost.js" + ] } - ] + ], + "execution": "independent" } diff --git a/vectors/typed-object.json b/vectors/typed-object.json index a93945f..5c143b5 100644 --- a/vectors/typed-object.json +++ b/vectors/typed-object.json @@ -6,1445 +6,35 @@ { "program": "runtime", "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" + "tools/samples/check-publication.mjs", + "typed-object", + "samples/yes/typed-object.json", + "samples/no/typed-object.json" ], - "cwd": "samples/typed-object-1", - "timeoutMs": 20000, + "cwd": ".", + "timeoutMs": 25000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" + "pattern": "\"state\":\"FREE\"" }, { "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FREE\",\"parts\":\\{\"floor\":\\{\"lo\":44,\"hi\":47\\},\"ceiling\":\\{\"lo\":44,\"hi\":47\\},\"origins\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"c-C\",\"origin\":\"ana\"\\},\\{\"id\":\"c-L\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\}\\]\\}$", - "flags": "m" + "pattern": "\"state\":\"FORBIDDEN\"" }, { "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" + "pattern": "\"state\":\"CONFLICT\"" }, { "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" + "pattern": "NEGATIVE floor-local .*REFUSE" } ], "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/typed-object-1/TARGET.bound", - "samples/typed-object-1/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-1/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-1/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-1/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-1/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-1/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-1/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-1/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-1/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-1/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-1/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-1/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-1/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-1/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-1/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-1/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-1/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-1/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-1/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-1/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-1/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-1/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-1/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-1/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-1/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-1/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-1/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-1/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-1/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-1/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-1/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-1/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-1/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-1/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-1/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-1/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-1/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-1/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-1/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-1/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-1/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-1/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-1/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-1/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-1/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-1/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-1/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-1/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-1/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-1/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-1/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-1/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-1/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-1/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-1/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-1/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-1/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-1/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-1/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-1/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-1/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-1/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-1/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-1/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-1/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-1/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-1/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-1/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-1/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-1/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-1/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-1/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-1/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-1/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-1/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-1/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-1/fixtures/history.txt", - "samples/typed-object-1/receipts.bound" - ], - "group": "case-0" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/typed-object-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":\\{\"floor\":\\{\"lo\":44,\"hi\":43\\},\"ceiling\":\\{\"lo\":44,\"hi\":43\\},\"origins\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\},\\{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":\\{\"lo\":40,\"hi\":43\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"c-C\",\"origin\":\"ana\"\\},\\{\"id\":\"c-L\",\"origin\":\"luis\"\\},\\{\"id\":\"disagreement\",\"origin\":\"ana\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"c-C\",\"at\":6,\"origin\":\"ana\",\"span\":\\{\"lo\":42,\"hi\":48\\}\\},\\{\"id\":\"c-L\",\"at\":7,\"origin\":\"luis\",\"span\":\\{\"lo\":44,\"hi\":47\\}\\},\\{\"id\":\"disagreement\",\"at\":8,\"origin\":\"ana\",\"span\":\\{\"lo\":40,\"hi\":43\\}\\}\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/typed-object-2/TARGET.bound", - "samples/typed-object-2/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-2/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-2/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-2/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-2/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-2/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-2/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-2/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-2/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-2/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-2/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-2/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-2/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-2/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-2/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-2/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-2/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-2/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-2/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-2/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-2/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-2/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-2/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-2/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-2/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-2/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-2/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-2/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-2/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-2/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-2/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-2/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-2/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-2/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-2/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-2/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-2/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-2/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-2/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-2/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-2/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-2/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-2/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-2/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-2/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-2/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-2/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-2/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-2/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-2/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-2/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-2/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-2/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-2/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-2/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-2/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-2/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-2/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-2/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-2/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-2/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-2/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-2/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-2/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-2/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-2/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-2/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-2/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-2/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-2/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-2/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-2/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-2/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-2/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-2/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-2/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-2/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-2/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-2/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-2/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-2/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-2/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-2/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-2/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-2/fixtures/history.txt", - "samples/typed-object-2/receipts.bound" - ], - "group": "case-1" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/typed-object-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/typed-object-3/TARGET.bound", - "samples/typed-object-3/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-3/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-3/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-3/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-3/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-3/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-3/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-3/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-3/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-3/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-3/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-3/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-3/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-3/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-3/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-3/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-3/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-3/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-3/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-3/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-3/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-3/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-3/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-3/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-3/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-3/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-3/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-3/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-3/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-3/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-3/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-3/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-3/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-3/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-3/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-3/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-3/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-3/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-3/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-3/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-3/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-3/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-3/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-3/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-3/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-3/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-3/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-3/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-3/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-3/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-3/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-3/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-3/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-3/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-3/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-3/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-3/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-3/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-3/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-3/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-3/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-3/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-3/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-3/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-3/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-3/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-3/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-3/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-3/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-3/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-3/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-3/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-3/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-3/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-3/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-3/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-3/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-3/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-3/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-3/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-3/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-3/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-3/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-3/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-3/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-3/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-3/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-3/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-3/fixtures/history.txt", - "samples/typed-object-3/receipts.bound" - ], - "group": "case-2" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/typed-object-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":\\{\"floor\":\\{\"lo\":65,\"hi\":75\\},\"ceiling\":\\{\"lo\":65,\"hi\":50\\},\"origins\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"outside-a\",\"origin\":\"ana\"\\},\\{\"id\":\"outside-b\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/typed-object-4/TARGET.bound", - "samples/typed-object-4/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-4/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-4/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-4/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-4/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-4/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-4/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-4/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-4/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-4/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-4/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-4/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-4/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-4/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-4/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-4/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-4/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-4/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-4/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-4/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-4/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-4/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-4/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-4/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-4/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", - "samples/typed-object-4/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-4/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-4/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-4/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-4/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", - "samples/typed-object-4/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-4/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-4/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-4/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-4/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-4/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-4/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-4/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-4/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-4/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-4/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-4/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-4/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-4/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-4/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-4/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-4/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-4/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-4/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-4/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-4/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-4/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-4/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-4/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-4/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-4/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-4/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-4/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-4/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-4/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-4/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-4/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-4/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-4/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-4/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-4/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-4/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-4/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-4/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-4/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-4/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-4/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-4/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-4/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-4/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-4/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-4/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-4/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-4/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-4/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-4/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-4/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-4/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-4/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-4/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-4/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-4/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-4/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-4/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-4/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-4/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-4/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-4/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-4/fixtures/history.txt", - "samples/typed-object-4/receipts.bound" - ], - "group": "case-3" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/typed-object-5", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"j-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":100\\},\"widens\":\"local-opening\",\"at\":4,\"id\":\"j-B\"\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":\\{\"floor\":\\{\"lo\":65,\"hi\":75\\},\"ceiling\":\\{\"lo\":65,\"hi\":50\\},\"origins\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"outside-a\",\"origin\":\"ana\"\\},\\{\"id\":\"outside-b\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":\\{\"floor\":\\{\"lo\":60,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":60,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\"incompatible-floor\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":60,\"hi\":100\\},\"id\":\"incompatible-floor\",\"at\":14\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/typed-object-5/TARGET.bound", - "samples/typed-object-5/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-5/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-5/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-5/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-5/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-5/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-5/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-5/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", - "samples/typed-object-5/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-5/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-5/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-5/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-5/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-5/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-5/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-5/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-5/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-5/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-5/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-5/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-5/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-5/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-5/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-5/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-5/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-5/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", - "samples/typed-object-5/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-5/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-5/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-5/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-5/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", - "samples/typed-object-5/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-5/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-5/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-5/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-5/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-5/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-5/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-5/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-5/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-5/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", - "samples/typed-object-5/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-5/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-5/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-5/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-5/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-5/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-5/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-5/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-5/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-5/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-5/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-5/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", - "samples/typed-object-5/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-5/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-5/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-5/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-5/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-5/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-5/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-5/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-5/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-5/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-5/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-5/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-5/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-5/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-5/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-5/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-5/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-5/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-5/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-5/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-5/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-5/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-5/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-5/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-5/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-5/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-5/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-5/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-5/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-5/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-5/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-5/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-5/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-5/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-5/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-5/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-5/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-5/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-5/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-5/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-5/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-5/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-5/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-5/fixtures/history.txt", - "samples/typed-object-5/receipts.bound" - ], - "group": "case-4" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/typed-object-6", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":40,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"s-B\",\"r-B\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":50\\},\"id\":\"s-B\",\"at\":3\\},\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":40,\"hi\":100\\},\"id\":\"r-B\",\"at\":5\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":\\{\"floor\":\\{\"lo\":65,\"hi\":75\\},\"ceiling\":\\{\"lo\":65,\"hi\":50\\},\"origins\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\],\"rest\":\\[\"B\"\\],\"required\":\\{\"lo\":40,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"B\"\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\{\"id\":\"outside-a\",\"origin\":\"ana\"\\},\\{\"id\":\"outside-b\",\"origin\":\"luis\"\\}\\],\"marks\":\\[\\],\"claims\":\\[\\{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\},\\{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":\\{\"lo\":65,\"hi\":75\\}\\}\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":\\{\"floor\":\\{\"lo\":60,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":50\\},\"origins\":\\[\\],\"rest\":\\[\"C\",\"B\"\\],\"required\":\\{\"lo\":60,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":50\\}\\},\"rest\":\\[\"C\",\"B\"\\],\"ownMarks\":\\[\"incompatible-floor\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":\\{\"lo\":60,\"hi\":100\\},\"id\":\"incompatible-floor\",\"at\":14\\}\\],\"claims\":\\[\\]\\}$", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":100\\},\"ceiling\":\\{\"lo\":0,\"hi\":100\\},\"origins\":\\[\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":100\\},\"signed\":\\{\"lo\":0,\"hi\":100\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\\],\"ownClaims\":\\[\\],\"marks\":\\[\\],\"claims\":\\[\\]\\}$", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", "package.json", - "TARGET.bound", - "samples/typed-object-6/TARGET.bound", - "samples/typed-object-6/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-6/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-6/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-6/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-6/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-6/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-6/fixtures/115bfa06a710d29bfe5d4f8dd64b24acbf3a61fd63e3b8d2b767e62cdaf20206", - "samples/typed-object-6/fixtures/124e7a85161ba8b1650f9e07df24a8e0fe64a3eaf34e8de1e4401bafe632526a", - "samples/typed-object-6/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-6/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-6/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-6/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-6/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-6/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-6/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-6/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-6/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-6/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-6/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-6/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-6/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-6/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-6/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-6/fixtures/45b6546e1819ec46b18f68d9ef1e8b348fedc80b6bb7af12c39eca617d1245e5", - "samples/typed-object-6/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-6/fixtures/520c755ef9bae8f549cbd912cdc2d476907371ca25080a378f91519e4f661c14", - "samples/typed-object-6/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-6/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-6/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-6/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-6/fixtures/59ed442e02b1bb43a5bff22c9bbad5b5b802af2d05672b886846efa8b10610b9", - "samples/typed-object-6/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-6/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-6/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-6/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-6/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-6/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-6/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-6/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-6/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", - "samples/typed-object-6/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-6/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", - "samples/typed-object-6/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-6/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-6/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-6/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-6/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-6/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-6/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-6/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-6/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-6/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-6/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-6/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", - "samples/typed-object-6/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-6/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-6/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-6/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-6/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-6/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-6/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-6/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-6/fixtures/947846019287e3ac1542e2eab8c8e8d579710b3652b928d02433218c6f239c95", - "samples/typed-object-6/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-6/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-6/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-6/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-6/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-6/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-6/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-6/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-6/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-6/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-6/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-6/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-6/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-6/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-6/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-6/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-6/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-6/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-6/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-6/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-6/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-6/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-6/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-6/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-6/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-6/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-6/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-6/fixtures/f3143313d242f787b66cb0c05e147a96004c45ff4688c7ac2b1eeb78062fc53c", - "samples/typed-object-6/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-6/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-6/fixtures/f73227128bb48d9bfdd96085012799378a4b201d086c514930c2f37c000c45b4", - "samples/typed-object-6/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-6/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-6/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-6/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-6/fixtures/history.txt", - "samples/typed-object-6/receipts.bound" - ], - "group": "case-5" - }, - { - "program": "runtime", - "args": [ - "../../dist/cli/verb.js", - "fold", - "--as", - "cells" - ], - "cwd": "samples/typed-object-7", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·wire a positive mark is ceiling/travels, ceiling/local with widens, or floor/travels without widens" - } - ], - "inputs": [ "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -1490,7 +80,6 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", - "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -1502,7 +91,6 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", - "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -1514,7 +102,6 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", - "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -1550,123 +137,28 @@ "dist/render/shape.js", "dist/render/target.js", "dist/render/view.js", - "package.json", + "tools/samples/check-publication.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/typed/artifacts.json", + "samples/typed/artifacts.vector.json", + "samples/typed/contract.json", + "samples/typed/no.json", + "samples/typed/range.vector.json", + "samples/typed/wire.json", + "samples/typed/yes.json", + "samples/yes/typed-object.json", + "samples/no/typed-object.json", + "tools/samples/public-instrument.mjs", "TARGET.bound", - "samples/typed-object-7/TARGET.bound", - "samples/typed-object-7/fixtures/0573c65d6a55bc4c20cd0e2e537e9ae6d275825b0d6e09bf20828c193b0d0a87", - "samples/typed-object-7/fixtures/074b6ed9317c6decee6b493373f01d3fcd4401c72604ee5a1d20bee0c4a5bb49", - "samples/typed-object-7/fixtures/0922b8ee14e1fd0e6c56cf026b377e67e070e1ab5ede71b64aebe17ecc4303a7", - "samples/typed-object-7/fixtures/0a5e879b024f10d8b895c9e574caa2141a59dac07eed8a384fb6e903ff069828", - "samples/typed-object-7/fixtures/0cc476498db21b2aab91e90cc0172bb34373cbe2876a21a21efdc8ba088112b0", - "samples/typed-object-7/fixtures/103d41dd0dc8fc9386fac861b6f0392b05183945b4a9c6e9f46dffb976c20d9c", - "samples/typed-object-7/fixtures/17530d23a19706d757534f9ef058529bb34c6bff30b48f21d8a7617885639684", - "samples/typed-object-7/fixtures/1933303d2726ba819a5754c1ff027d0aa2a1d8de48aa4d8f7005fd5a472a5cc4", - "samples/typed-object-7/fixtures/1c795d83a69821c11cc76737949ddea68b15ee1634c3d44e95d77eeb7648339b", - "samples/typed-object-7/fixtures/25c3a624ac8be6cc3b716899afb411e0fd8415b7de0fb5e3623dcfb807cc12bf", - "samples/typed-object-7/fixtures/2f06e8acfd8c7539722c3389a61da12705d452aae2d0d52cbd98bf1a624e9f6b", - "samples/typed-object-7/fixtures/2f57ddfaa1b0ff0d26f24f358c70e180c7e0000224033ecccc7b61ce807b3d8d", - "samples/typed-object-7/fixtures/33db7dfac35ca1c2a6a5b2eed8f79c9a3f9b14be921c389ec743da47ca57b2e3", - "samples/typed-object-7/fixtures/35a036a45f0e35f53be2c0bb1f62593c8b395f0cd75c30beac0625dc8d3c95f3", - "samples/typed-object-7/fixtures/39fed9da848ec94e4bf350919ac6e5229e8b291d091a1f81f9d7f3e71e55a71c", - "samples/typed-object-7/fixtures/3b5ddabd7900208b67f30dea74f8ada7b3e10ec752b46cbf0bef524ff18a1eb1", - "samples/typed-object-7/fixtures/3b68173ca2f60735bf076a42f963449fb826952d0b50088d5437bd388d0d7091", - "samples/typed-object-7/fixtures/3c8e7a61164f5dd2416112baa791ed401922afeafe06239c597113bb2b5f78ff", - "samples/typed-object-7/fixtures/41365333e1751763ffad7a11f85ce2cf8564ba376831bf900a4bdbd45ad1ddc7", - "samples/typed-object-7/fixtures/41e31f3c29dea4948970aab33d653a96c25eaf5d23f0e7025eb5ad8020366a71", - "samples/typed-object-7/fixtures/4546775a1d1a4c2754a6b92aab5a19483f6622f1b37ec476ea433d93edc12a0f", - "samples/typed-object-7/fixtures/4e9c79bfb91f542dcb1609846da3d32058b87a4c45cd3eafa13821d567f8feb9", - "samples/typed-object-7/fixtures/575163902a434048bb6dd164035c9eccbaf5c8f04f6738939b9dedb1d4c917f2", - "samples/typed-object-7/fixtures/58aaf0d3879754363a291955f832310e370ebe49a9fc5a3805fb02ee9c1488c1", - "samples/typed-object-7/fixtures/5905335870de71d8e22edda3899342ec89dd15c3c058f88bed6a55c2a20ff964", - "samples/typed-object-7/fixtures/59cfb83ff3067f8ba6707dda3f90e5e0b7ffc278ba45d9ab188782b305fbf463", - "samples/typed-object-7/fixtures/5ad8985a98e0774deb2541a80d4a34a7c8a4691162fdf584c618736064180e15", - "samples/typed-object-7/fixtures/5b883395c0dc4ecde724a91d6a263c68d180a8e53fac6319daf51087af214d62", - "samples/typed-object-7/fixtures/5be27ebec40dcb3ffdc34775622a1c07367daa2ad2de93b3ca0edecf4b823bea", - "samples/typed-object-7/fixtures/5d01e3eb2064cad0c0b11bd8995e4a0c421b1a38a607589c14c4ef0581d37f7c", - "samples/typed-object-7/fixtures/5e2d767c3cb3cbf63eca9ae62e6deb08a27616fa9493d46cd7283dac7074711e", - "samples/typed-object-7/fixtures/5e5c85105c2701f991bb4236cadc16df2af6e1cf2c3ca299647843e21d035128", - "samples/typed-object-7/fixtures/5ed73e62321f9d5bde953650f5c4e4643bbbc36b7e29497d00f1f91d76a3103e", - "samples/typed-object-7/fixtures/5f7686080ceb6ba2eef54a81c0602470e9e557da35431c4cbeed5f5c5c9fcb9e", - "samples/typed-object-7/fixtures/5fd85b17b6865ec2662ad5afbe56ab583f1b3f4d3e8876f769b6c91bef79f9ab", - "samples/typed-object-7/fixtures/6003d7346374b81eb4dd60d2c99e3d55311f4ceb1d94aa05c258bc1f5e2dad14", - "samples/typed-object-7/fixtures/6012b65e035d4704e45d833f4e9e957e55e8f99e649ac9bacfd5f4d03729e059", - "samples/typed-object-7/fixtures/6115a1a912f044cb27f46de4424ac4ef8aae3d1ba59540b015077681d4634c41", - "samples/typed-object-7/fixtures/65f4203d95aee7a0d465e3099174e60a660b8c694ce566b6b6123ec70927f2d4", - "samples/typed-object-7/fixtures/679374151824be7c6675fe2defc767eef611be705565cc766f4af6e0bb3a7998", - "samples/typed-object-7/fixtures/6af8e48e1967438c095f3df6e8242eff1bb7add3910b8c5c9d473c3cf4c9dcd3", - "samples/typed-object-7/fixtures/6bee16d1e7c5eb0b56fd2f2721284f155d268b3ea89584beef5bbcfcddfead95", - "samples/typed-object-7/fixtures/6fad9ee696413b5f33aaa027a13c055414cf6f00c7073d8ff9b25071d77754e3", - "samples/typed-object-7/fixtures/7355a9c92e358ac7704b3fe5edc0181f41e995780613b99145e9c33a64af4e86", - "samples/typed-object-7/fixtures/758eecb9576eb678a9d882df38ec299a2a2ff59aa2ad941ef39057105fc4c0ae", - "samples/typed-object-7/fixtures/759f669029f1da8c35dc71baa6aa08282cdd70731f5b15b30e5eb31234a0ec0a", - "samples/typed-object-7/fixtures/76ec001e026205987712d3550ff240efb475980b7b06aacc59dcbae66abb5b2e", - "samples/typed-object-7/fixtures/79a3d3e9102f755ee0a2c04ad77329089866b4e3c65750fa0f1bbdcefca61771", - "samples/typed-object-7/fixtures/7ab87cc7ad8bd29ddece526588fe12f834db81b90f2a92a4985ef4904a31e9b1", - "samples/typed-object-7/fixtures/7b4246055afc2ea71db6b238ad7abaf7deed32734b147bc993fca6d132b0a90d", - "samples/typed-object-7/fixtures/7ce87e5592ccd85bb15aa7bed785d3bd3f648eae3ba8bcbad05c29e0f2b35903", - "samples/typed-object-7/fixtures/7f3f3643ca60df8a26cf60448dd32dbd898b63e3ffc10e5c37930c77a5e3fbf1", - "samples/typed-object-7/fixtures/81931245da1ff410b4436c8a582bfeaffcb4ce1ca254ec9f7281b6164c1ce89c", - "samples/typed-object-7/fixtures/820abaed1d422fdb89c759ca31f3732b6bea6ff7bd1a5b20f2114c1626979880", - "samples/typed-object-7/fixtures/8d933fe5bfbe45549e071ad52c9aa86699eedf6b04cdb7b4efd9404237c06d6d", - "samples/typed-object-7/fixtures/8dfd76ebab3d7bedec1e686cb371cfc96b4195c04e7f689df21cad5bd3d5726c", - "samples/typed-object-7/fixtures/918e56afa30cb282bf6bcddd66d26481780b4112a8c45584f356ccfd6fb784d8", - "samples/typed-object-7/fixtures/91c109ba5f2b110bacd49037d84d2de14c2c14269784ab5a0bbd0ccf2cdb0049", - "samples/typed-object-7/fixtures/95104b64ec90be292aef9ca63581abb213a0ac35c71078ba4da246d13dd5216c", - "samples/typed-object-7/fixtures/98572f0f36713c3b890e57802062cb9e77e38e98f6dbfb1338918b01a1cbe7e7", - "samples/typed-object-7/fixtures/a227dbdc0e9a94aabb384f07372b3aadd4d378ea7d22dd407586ddbc6b374f41", - "samples/typed-object-7/fixtures/a3efd4787d38b6b8aa303e4e882be6e4226f6879639f7e87a7d1bba3ca98e1a9", - "samples/typed-object-7/fixtures/a95e943e422293b3505de8bae0af41c27826cf53eadca0763ab8c2e652572701", - "samples/typed-object-7/fixtures/ad3f59655f9ae3c6ebf628443bcc331c4aee71e360875ac6f96f087f3865aba4", - "samples/typed-object-7/fixtures/b2e409aceb26a46d418c8b6ec58300b7e7f6f22b9d08330d1c35cfba5187ae6d", - "samples/typed-object-7/fixtures/b372555c8a1f9ad165f98734dd2ca4f464b2752dfe2e482701ef5d24085c4dc6", - "samples/typed-object-7/fixtures/bb6484fbb1a0548588af530b724ac63480f47811f7a275ae5d911e8711b7dcb3", - "samples/typed-object-7/fixtures/bcc67baa5b704ec527390f62f2cf829e82550bfdf2bd9e3728c0e67ae5223670", - "samples/typed-object-7/fixtures/c04ba77c22d07ed6306e15dfec3bd3e2b0754f0b5a951cb9be5f69ddaff58aa4", - "samples/typed-object-7/fixtures/c296f7eb199f2d09b098a335d4cf3322f7593aa77d002d83039b6e8ddf80a46e", - "samples/typed-object-7/fixtures/c5c4459ad4f5cffe970f87129bd5ddedeb9e35f1163204630788a574a5fdbd78", - "samples/typed-object-7/fixtures/c5ea96de0d62bb3fe447647c806140ce140de412f58d4c4907f80ad7ad3cdf3d", - "samples/typed-object-7/fixtures/c83b5bde9c38bc8c4f3e63014c1a147a43d5f0c70b844f9ba05f686ed918d4bf", - "samples/typed-object-7/fixtures/d4bf10657c2a2dc0e4fb84437bd4dd1eac5384cac6122de534464aae798bff94", - "samples/typed-object-7/fixtures/dbcf0fc3804d8692e0ec4214d6729d0ed306239c9544618bf8e22ac1707facc6", - "samples/typed-object-7/fixtures/dbd3f9d7716e5ced35e2c8636ee258a158fa468b47aeae02cadcddc30e3919f6", - "samples/typed-object-7/fixtures/deab53c58c078862088ac4bf424fb13ed68793913e399815871031e3a7e41a9a", - "samples/typed-object-7/fixtures/e0e229f88952f3129e206f05e501dd85d786d30a23706fc9070160e8c60b25f2", - "samples/typed-object-7/fixtures/e295db71d2fef138330904a6943ff8bfbed2cf86e43410a0536d6b068d404421", - "samples/typed-object-7/fixtures/e4b37596c30296356d0e83c0f1b8af60e87a4f7ba53c8c61f678c84f0176e518", - "samples/typed-object-7/fixtures/e9b619e2bc56a2fdd59e55b790456b182716b2e1a5cc5ee70eea0c56ed521d3a", - "samples/typed-object-7/fixtures/ecbee18d7356b5e03b7a24e7e68c6f7b9b31e01cc327f26ddb3d9ffae90453e2", - "samples/typed-object-7/fixtures/ed01f762356f16ae3a9c80241c75b879dcaae26224db243bf05efd9d4d8562ca", - "samples/typed-object-7/fixtures/f1b31185cdecde60b70d5071a51bc37ca4e602cc4073afec4668170dd38e5328", - "samples/typed-object-7/fixtures/f2356ce3067236a9afdee6f2fa6c91d931f3787de0e89bdbf06a15afeb1db48c", - "samples/typed-object-7/fixtures/f3339de56e4216105532771167d9b1f2b6488b554deb4c57722ec0afa2a3a994", - "samples/typed-object-7/fixtures/f5a1c7b4ee0994930d721f00e2a2444be3fd6ee35287c50a5c916b1165caa6c5", - "samples/typed-object-7/fixtures/fa008ab4534bf27169dd85e9e873d4631d461fb0bcf7d5280dbdc25af2ddd4bd", - "samples/typed-object-7/fixtures/fb458d5e2009c772f9af99ab71f38ea363fb95e93dc44187f30357dfa777dd3d", - "samples/typed-object-7/fixtures/fc99b9b8e97260a86c339e8cf80d74d9cef525649b14d3b156e0dd7f484a7f08", - "samples/typed-object-7/fixtures/ffb56f541e3cf0fc641cd5c3d62e701120fb93242c020b9b19b6306368094261", - "samples/typed-object-7/fixtures/history.txt", - "samples/typed-object-7/receipts.bound" - ], - "group": "case-6" + "dist/host/act-cost.js" + ] } ], - "execution": "independent", - "workspace": { - "mutable": [ - "samples/typed-object-1/TARGET.bound", - "samples/typed-object-1/receipts.bound", - "samples/typed-object-2/TARGET.bound", - "samples/typed-object-2/receipts.bound", - "samples/typed-object-3/TARGET.bound", - "samples/typed-object-3/receipts.bound", - "samples/typed-object-4/TARGET.bound", - "samples/typed-object-4/receipts.bound", - "samples/typed-object-5/TARGET.bound", - "samples/typed-object-5/receipts.bound", - "samples/typed-object-6/TARGET.bound", - "samples/typed-object-6/receipts.bound", - "samples/typed-object-7/TARGET.bound", - "samples/typed-object-7/receipts.bound" - ] - } + "execution": "independent" } diff --git a/vectors/walk-publication.json b/vectors/walk-publication.json index 5582250..b63e3f7 100644 --- a/vectors/walk-publication.json +++ b/vectors/walk-publication.json @@ -1,486 +1,48 @@ { "scope": "walk/conformance", + "execution": "independent", "measure": "count", "result": "failures", - "execution": "independent", - "parameters": [ - "WALK_PUBLICATION_SIGNER_FILE_0", - "WALK_PUBLICATION_SIGNER_FILE_1", - "WALK_PUBLICATION_SIGNER_FILE_2", - "WALK_PUBLICATION_SIGNER_FILE_3" - ], - "workspace": { - "mutable": [ - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound" - ] - }, "cases": [ { "program": "runtime", "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" + "tools/samples/check-walk-publication.mjs", + "samples/yes/walk.json", + "samples/no/walk.json" ], - "cwd": "samples/walk-publication/left-1", + "cwd": ".", "timeoutMs": 20000, "maxBytes": 1048576, "exit": 0, "matches": [ { "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "PLACE measurement" + }, { "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ + "pattern": "PLACE artifact" + }, + { + "stream": "stdout", + "pattern": "EXCHANGE [0-9]+ payload bytes" + }, + { + "stream": "stdout", + "pattern": "INGRESS [0-9]+ new evidence lines" + }, + { + "stream": "stdout", + "pattern": "ONCE 0 new evidence lines" + }, { "stream": "stdout", - "pattern": "EXCHANGE" + "pattern": "REFUSE\u00b7walk" } ], "inputs": [ + "TARGET.bound", "dist/cli/accept.js", "dist/cli/args.js", "dist/cli/host.js", @@ -526,7 +88,6 @@ "dist/fold/views.js", "dist/fold/wire.js", "dist/fold/zoom.js", - "dist/host/act-cost.js", "dist/host/adapters/keys/ed25519.js", "dist/host/adapters/modules/javascript.js", "dist/host/adapters/transport/http.js", @@ -538,7 +99,6 @@ "dist/host/content-store.js", "dist/host/digest.js", "dist/host/hash.js", - "dist/host/history-input.js", "dist/host/io.js", "dist/host/lifetime.js", "dist/host/located.js", @@ -550,7 +110,6 @@ "dist/host/process-lifetime.js", "dist/host/provide.js", "dist/host/read-only.js", - "dist/host/reading-closures.js", "dist/host/release.js", "dist/host/selected-capsules.js", "dist/host/selected-topos.js", @@ -587,16888 +146,36 @@ "dist/render/target.js", "dist/render/view.js", "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/005-left-local.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/006-right-local.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/007-right-inventory.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@1", - "../inputs/007-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@4", - "../inputs/007-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/009-partial-payload.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@6", - "../inputs/007-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/007-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/013-left-payload.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/008-altered.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk region digest or count mismatch receipts/left-ledger/sample" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/009-partial-payload.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk partial or extra payload" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/010-outside-prefix.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk foreign epoch is outside the authenticated prefix" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/011-unauthorized-prefix.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk metadata is not authenticated" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/012-stale-base.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk stale receiver base" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@2", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk undeclared or ambiguous resolution" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/013-left-payload.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/013-left-payload.bound" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/014-missing-earlier-prefix.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk foreign history is not an extension of its verified prefix" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/015-inserted-at-verified-epoch.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk foreign epoch does not match the verified prefix" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/016-right-acknowledged.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/016-right-acknowledged.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/017-no-payload.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/017-no-payload.bound" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/018-left-inventory.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/018-left-inventory.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/019-right-payload.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/019-right-payload.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "evidence" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=right .*scope=sample/measurement .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=right .*scope=receipts .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=left .*scope=sample/measurement .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/020-next-local.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/020-next-local.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/013-left-payload.bound" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "../inputs/021-alternate-origin-context.bound" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:PASS +closed|readings · no encounters computed)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/022-select-alternate.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/023-undeclared-context-lineage.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk origin context changed without declared lineage" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/024-new-left-local.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_1}" - ], - "cwd": "samples/walk-publication/right-2", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/025-right-final-inventory.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/025-right-final-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_0}" - ], - "cwd": "samples/walk-publication/left-1", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/026-interruption-payload.bound", - "group": "pair-1" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/031-left-local.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/032-right-local.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/033-right-inventory.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@1", - "../inputs/033-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@4", - "../inputs/033-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/035-partial-payload.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@6", - "../inputs/033-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/033-right-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/039-left-payload.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/034-altered.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk region digest or count mismatch receipts/left-ledger/sample" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/035-partial-payload.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk partial or extra payload" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/036-outside-prefix.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk foreign epoch is outside the authenticated prefix" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/037-unauthorized-prefix.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk metadata is not authenticated" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/038-stale-base.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk stale receiver base" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@2", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk undeclared or ambiguous resolution" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/039-left-payload.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/039-left-payload.bound" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/040-missing-earlier-prefix.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk foreign history is not an extension of its verified prefix" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/041-inserted-at-verified-epoch.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk foreign epoch does not match the verified prefix" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/042-right-acknowledged.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/042-right-acknowledged.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/043-no-payload.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/043-no-payload.bound" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/044-left-inventory.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/044-left-inventory.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/045-right-payload.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/045-right-payload.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "evidence" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=right .*scope=sample/artifact .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=right .*scope=receipts .*sig=", - "flags": "m" - }, - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*by=left .*scope=sample/artifact .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "sign", - "../inputs/046-next-local.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "^bound-lock/1 .*sig=", - "flags": "m" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/046-next-local.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/039-left-payload.bound" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "ONCE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "../inputs/047-alternate-origin-context.bound" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:PASS +closed|readings · no encounters computed)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/048-select-alternate.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/049-undeclared-context-lineage.bound", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 1, - "matches": [ - { - "stream": "stderr", - "pattern": "REFUSE·walk origin context changed without declared lineage" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "land", - "../inputs/050-new-left-local.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "(?:FACT.*landed|INGRESS|ONCE)" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@0", - "--key", - "right", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_3}" - ], - "cwd": "samples/walk-publication/right-4", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/051-right-final-inventory.bound", - "group": "pair-2" - }, - { - "program": "runtime", - "args": [ - "../../../dist/cli/verb.js", - "fold", - "--as", - "walk@8", - "../inputs/051-right-final-inventory.bound", - "--key", - "left", - "--key-file", - "${WALK_PUBLICATION_SIGNER_FILE_2}" - ], - "cwd": "samples/walk-publication/left-3", - "timeoutMs": 20000, - "maxBytes": 1048576, - "exit": 0, - "matches": [ - { - "stream": "stdout", - "pattern": "EXCHANGE" - } - ], - "inputs": [ - "dist/cli/accept.js", - "dist/cli/args.js", - "dist/cli/host.js", - "dist/cli/names.js", - "dist/cli/observe.js", - "dist/cli/owner.js", - "dist/cli/pass.js", - "dist/cli/place.js", - "dist/cli/takes.js", - "dist/cli/verb.js", - "dist/fold/ceilings.js", - "dist/fold/claims.js", - "dist/fold/closed.js", - "dist/fold/configures.js", - "dist/fold/digests.js", - "dist/fold/evidence.js", - "dist/fold/fold-worker.js", - "dist/fold/kept.js", - "dist/fold/keys.js", - "dist/fold/laid.js", - "dist/fold/nos.js", - "dist/fold/object.js", - "dist/fold/observed.js", - "dist/fold/opened.js", - "dist/fold/own.js", - "dist/fold/paid.js", - "dist/fold/place-inputs.js", - "dist/fold/places.js", - "dist/fold/rank.js", - "dist/fold/reach.js", - "dist/fold/readers.js", - "dist/fold/receipts.js", - "dist/fold/region-declarations.js", - "dist/fold/region.js", - "dist/fold/release-policy.js", - "dist/fold/resolved.js", - "dist/fold/roles.js", - "dist/fold/second.js", - "dist/fold/shards.js", - "dist/fold/signed.js", - "dist/fold/signers.js", - "dist/fold/stranger.js", - "dist/fold/views.js", - "dist/fold/wire.js", - "dist/fold/zoom.js", - "dist/host/act-cost.js", - "dist/host/adapters/keys/ed25519.js", - "dist/host/adapters/modules/javascript.js", - "dist/host/adapters/transport/http.js", - "dist/host/archive.js", - "dist/host/capsule-process.js", - "dist/host/capsule.js", - "dist/host/cell-receipts.js", - "dist/host/content-needed.js", - "dist/host/content-store.js", - "dist/host/digest.js", - "dist/host/hash.js", - "dist/host/history-input.js", - "dist/host/io.js", - "dist/host/lifetime.js", - "dist/host/located.js", - "dist/host/objects.js", - "dist/host/ports/ingress.js", - "dist/host/ports/signing.js", - "dist/host/ports/store.js", - "dist/host/ports/transport.js", - "dist/host/process-lifetime.js", - "dist/host/provide.js", - "dist/host/read-only.js", - "dist/host/reading-closures.js", - "dist/host/release.js", - "dist/host/selected-capsules.js", - "dist/host/selected-topos.js", - "dist/host/signing.js", - "dist/host/source-content.js", - "dist/host/timing.js", - "dist/host/walk.js", - "dist/judge/late.js", - "dist/judge/take.js", - "dist/judge/widening.js", - "dist/land/act.js", - "dist/land/alias.js", - "dist/land/held.js", - "dist/land/inert.js", - "dist/land/leaving.js", - "dist/land/ledger.js", - "dist/land/owned.js", - "dist/land/sign.js", - "dist/land/vouched.js", - "dist/land/withdraw.js", - "dist/observe/files.js", - "dist/observe/identity.js", - "dist/observe/match.js", - "dist/observe/regions.js", - "dist/observe/run.js", - "dist/observe/runner.js", - "dist/render/capsule.js", - "dist/render/field.js", - "dist/render/names.js", - "dist/render/open.js", - "dist/render/page.js", - "dist/render/receipts.js", - "dist/render/shape.js", - "dist/render/target.js", - "dist/render/view.js", - "package.json", - "TARGET.bound", - "samples/walk-publication/inputs/001-left-conflicting-wire.bound", - "samples/walk-publication/inputs/002-left-context.bound", - "samples/walk-publication/inputs/003-right-conflicting-wire.bound", - "samples/walk-publication/inputs/004-right-context.bound", - "samples/walk-publication/inputs/005-left-local.bound", - "samples/walk-publication/inputs/006-right-local.bound", - "samples/walk-publication/inputs/007-right-inventory.bound", - "samples/walk-publication/inputs/008-altered.bound", - "samples/walk-publication/inputs/009-partial-payload.bound", - "samples/walk-publication/inputs/010-outside-prefix.bound", - "samples/walk-publication/inputs/011-unauthorized-prefix.bound", - "samples/walk-publication/inputs/012-stale-base.bound", - "samples/walk-publication/inputs/013-left-payload.bound", - "samples/walk-publication/inputs/014-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/015-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/016-right-acknowledged.bound", - "samples/walk-publication/inputs/017-no-payload.bound", - "samples/walk-publication/inputs/018-left-inventory.bound", - "samples/walk-publication/inputs/019-right-payload.bound", - "samples/walk-publication/inputs/020-next-local.bound", - "samples/walk-publication/inputs/021-alternate-origin-context.bound", - "samples/walk-publication/inputs/022-select-alternate.bound", - "samples/walk-publication/inputs/023-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/024-new-left-local.bound", - "samples/walk-publication/inputs/025-right-final-inventory.bound", - "samples/walk-publication/inputs/026-interruption-payload.bound", - "samples/walk-publication/inputs/027-left-conflicting-wire.bound", - "samples/walk-publication/inputs/028-left-context.bound", - "samples/walk-publication/inputs/029-right-conflicting-wire.bound", - "samples/walk-publication/inputs/030-right-context.bound", - "samples/walk-publication/inputs/031-left-local.bound", - "samples/walk-publication/inputs/032-right-local.bound", - "samples/walk-publication/inputs/033-right-inventory.bound", - "samples/walk-publication/inputs/034-altered.bound", - "samples/walk-publication/inputs/035-partial-payload.bound", - "samples/walk-publication/inputs/036-outside-prefix.bound", - "samples/walk-publication/inputs/037-unauthorized-prefix.bound", - "samples/walk-publication/inputs/038-stale-base.bound", - "samples/walk-publication/inputs/039-left-payload.bound", - "samples/walk-publication/inputs/040-missing-earlier-prefix.bound", - "samples/walk-publication/inputs/041-inserted-at-verified-epoch.bound", - "samples/walk-publication/inputs/042-right-acknowledged.bound", - "samples/walk-publication/inputs/043-no-payload.bound", - "samples/walk-publication/inputs/044-left-inventory.bound", - "samples/walk-publication/inputs/045-right-payload.bound", - "samples/walk-publication/inputs/046-next-local.bound", - "samples/walk-publication/inputs/047-alternate-origin-context.bound", - "samples/walk-publication/inputs/048-select-alternate.bound", - "samples/walk-publication/inputs/049-undeclared-context-lineage.bound", - "samples/walk-publication/inputs/050-new-left-local.bound", - "samples/walk-publication/inputs/051-right-final-inventory.bound", - "samples/walk-publication/inputs/052-interruption-payload.bound", - "samples/walk-publication/left-1/TARGET.bound", - "samples/walk-publication/left-1/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/left-1/fixtures/375f2f655d4fc1451f8f68cdcc42910468abc441233bd0f111b7d6518050a7ca", - "samples/walk-publication/left-1/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/left-1/fixtures/9ee56983b5b4c2565c6e9738d977ec95b92d30c03e0c6b045628b13a9c3aba68", - "samples/walk-publication/left-1/fixtures/a077a5eed41a0db57851d1225dd9066f545fc932a900c0b620a1a84deb2346c7", - "samples/walk-publication/left-3/TARGET.bound", - "samples/walk-publication/left-3/fixtures/2e44b4186e702d0e47d38efabb1a468791c4be2df486dad7259f1df08f4b96bc", - "samples/walk-publication/left-3/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/left-3/fixtures/62e18edcc136a36042d58c890ed6c00c47331132c5757dde1ae662a3f2506b25", - "samples/walk-publication/left-3/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/left-3/fixtures/beaaa71578ed051fda35c7df09fb4a1b1add3190d4463474afcc058be99a9e88", - "samples/walk-publication/right-2/TARGET.bound", - "samples/walk-publication/right-2/fixtures/18db617a321262ec0c14bdc838c291ccd9aba7f68619660ed0ae2bf82542971a", - "samples/walk-publication/right-2/fixtures/1f0b38c5d5584604c85b3ed7a2659dcd26eb1750a12e9e34f9d66719e2621286", - "samples/walk-publication/right-2/fixtures/2889411cc4f7fe0fd9e2fbb407cc7c77c5c28b43e49aebf69265f608c42bdfaf", - "samples/walk-publication/right-2/fixtures/489fe539d76a77cbc5f45e4b51431dccb314443b579221126a1f696e295f80a2", - "samples/walk-publication/right-2/fixtures/702b7f3b69d4f201ec22f22a476f53228bba1cf6d356554b1e533d0ee83e6793", - "samples/walk-publication/right-2/fixtures/727d8c05b4a7b34fe970328c2b8f8f81a873b3ca9f85e7dce1099329f77ff532", - "samples/walk-publication/right-2/fixtures/73cbaf98cddc8fc5f07da345e71e2ef1127a307b78c29d37955079ddc87d044c", - "samples/walk-publication/right-4/TARGET.bound", - "samples/walk-publication/right-4/fixtures/1a190aa46a805a0fff4290cc9ed03460b92987f433ab1138d9746414815bbc58", - "samples/walk-publication/right-4/fixtures/22d692860dad67247562e69dd16595c90ce867240036f40937772c573e2d19e2", - "samples/walk-publication/right-4/fixtures/4b539a4334461c4ccaba2085943d4d85a8a941e7cc4a09af891ccc055ed42c8f", - "samples/walk-publication/right-4/fixtures/66c5c511fba610130598a041e81a33564f10043a87f28fa570171413f6bf2b51", - "samples/walk-publication/right-4/fixtures/674870c9458f08bd47410b84e8aa60b1b35fe03e241101d2d5d98a8f1ee83345", - "samples/walk-publication/right-4/fixtures/84cb548a147de7343071fd7aab95f02581483b5aad8cfae4c539c29a240ea004", - "samples/walk-publication/right-4/fixtures/cc97880fa0c6081a41a849d5a07f36175d88337d0ac9c467eec7d4559b956ef7" - ], - "stdoutFile": "samples/walk-publication/inputs/052-interruption-payload.bound", - "group": "pair-2" + "samples/walk/no.json", + "samples/walk/yes.json", + "tools/samples/check-publication.mjs", + "tools/samples/check-walk-publication.mjs", + "tools/samples/evidence-worker.mjs", + "tools/samples/historical-build-worker.mjs", + "tools/samples/historical-document-worker.mjs", + "tools/samples/historical-presentation-worker.mjs", + "tools/samples/module-closure.mjs", + "tools/samples/program-worker.mjs", + "tools/samples/prose-worker.mjs", + "tools/samples/public-instrument.mjs", + "tools/samples/run-evidence.mjs", + "tools/samples/run-historical-build.mjs", + "tools/samples/run-historical-document-views.mjs", + "tools/samples/run-historical-presentation.mjs", + "tools/samples/run-program-views.mjs", + "tools/samples/run-prose-views.mjs", + "tools/samples/run-query-views.mjs", + "tools/samples/run-signing.mjs", + "tools/samples/run-typed-walk.mjs", + "tools/samples/run-typed.mjs", + "tools/samples/run-walk-refinement.mjs", + "tools/samples/run-walk.mjs", + "tools/samples/typed-provider.mjs", + "samples/yes/walk.json", + "samples/no/walk.json", + "tools/samples/walk-sample-worker.mjs", + "dist/host/act-cost.js" + ] } ] } From 309a175a41f94f652bdb511971eba0e6880ef6a7 Mon Sep 17 00:00:00 2001 From: NahumDev <60716442+NahumOchoa@users.noreply.github.com> Date: Thu, 8 Oct 2026 12:10:16 -0600 Subject: [PATCH 5/6] Remove private sample surface from the package --- README.md | 11 +-------- TARGET.bound | 10 ++++---- docs/contracts/evidence-view.md | 1 - docs/contracts/typed-object.md | 10 +------- package.json | 44 +-------------------------------- 5 files changed, 8 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 5585d31..751ab9f 100644 --- a/README.md +++ b/README.md @@ -25,16 +25,7 @@ npx @lapxo/bound@0.1.5 fold --check Use this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters. -For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. - -Run the executable example with the installed CLI: - -```sh -npm install @lapxo/bound@0.1.5 -node node_modules/@lapxo/bound/tools/samples/run-typed.mjs -``` - -The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). +Independent observations are judged through the declared typed cells view. The selected topos supplies the form, origin evidence and bounds. Bound keeps attribution and exact-ID withdrawals through the fold. A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. diff --git a/TARGET.bound b/TARGET.bound index d7a6f7e..b548671 100644 --- a/TARGET.bound +++ b/TARGET.bound @@ -1,5 +1,5 @@ -bound-lock/1 about="# @lapxo/bound\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock -bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary.\n\nRun `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins.\n\nThe no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped.\n" at=witness:publication-samples by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock +bound-lock/1 about="# @lapxo/bound\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nIndependent observations are judged through the declared typed cells view. The selected topos supplies the form, origin evidence and bounds. Bound keeps attribution and exact-ID withdrawals through the fold.\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\nDeclare what must hold. Read what does. Keep the evidence.\n\nBound reads a project's admitted statements, checks observations against its requirements, and produces the views its selected topos declares. It keeps conflicting evidence and its origins instead of choosing a convenient answer.\n\n`fold` reads. `sign` signs a proposed lot. `land` admits that lot under the place's authority. These acts work across domains: a selected topos supplies forms, units, readers and views.\n\n## Start in an admitted project\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as help\nnpx @lapxo/bound@0.1.5 fold\n```\n\nThe help view prints:\n\n```text\nverbs fold land sign\nflags --as --check --key --key-file --signer --place\n```\n\nThe default fold runs the project's declared views. Its authority and selected topos determine what can be admitted, read and shown.\n\nStart with the team's accepted TARGET, admitted authority and selected readers. [Full usage guide](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](docs/usage.md).\n\n## Read a declared view and reuse its evidence\n\nWhen the project has admitted a cells view:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as cells\n```\n\nThe installed interval scene printed this on an unchanged second reading:\n\n```text\nRECEIPTS 4 read · 0 opened · idle · provider 0\n```\n\nNative receipts identify the live semantic inputs, declared rest, selected topos, codecs and selected rendering implementation. They exclude delivery count, display paths and Bound's error wrapper. A local join changes its own cell's receipt. A travelling sign changes dependent cells. Missing or corrupt carried bytes cannot prove reuse.\n\nFor judgement:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nKeep stdout, stderr and the exit status. `--check` is not an install-and-build replacement. A source test passing does not pay an unread ceiling, prove a cold clone, or accept a release.\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:minimal-public-surface-015 by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock +bound-lock/1 about="# Authenticated evidence view\n\nThe declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary.\n\n\nThe no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped.\n" at=witness:minimal-public-surface-015 by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock bound-lock/1 about="# Contributing to Bound\n\nBring a counterexample, an observation or a proposed lot. Include the inputs and the output that led you to it. A signature establishes who was authorized to speak; it does not make their result true.\n\n## Set up a working copy\n\nClone the repository and use the Node version supported by package.json. If package-lock.json is present, run npm ci; otherwise use npm install --ignore-scripts --no-package-lock. Then run:\n\n```sh\nnpm run build\nnpm test\n```\n\nThese are development checks, not project acceptance. For a place with admitted trust context and native receipts, run the product judgement as well:\n\n```sh\nnpx @lapxo/bound@0.1.0 fold --check\n```\n\nPreserve a refusal and its exit status in your report. Do not borrow a neighbouring checkout's ledger or substitute local bytes for a named pin.\n\n## Make the smallest useful change\n\nBound owns admission, folding and evidence. Topos owns grammar, forms, classes, views and their contracts. A selected topos owns domain measurement. Obligations owns the algebra. Keep each change in its layer; do not put a domain decoder, path-based inference or a fallback for a missing pin into Bound.\n\nAn algebra change needs an independent oracle and a counterexample. A host change needs evidence for authentic bytes, failure propagation or reuse. A view change needs its declared region and implementation identity. A test should fail for a plausible incorrect implementation, not assert a source string or repeat the same expression on both sides.\n\nKeep regressions for changed signatures, unauthorized coverage, exact-id withdrawal, conflicting evidence, local versus travelling acts, corrupt content and duplicate delivery. Consolidate repeated setup and duplicate scenarios without removing distinct falsifiers.\n\n## Propose and admit\n\nKeep proposal and signed-lot files outside the repository. Use the current admitted wire, by=target, and no preassigned epoch or signature. The team's admitted key signs the lot; Bound admits it under scope coverage. The [usage guide](docs/usage.md) explains the transaction and external key-file requirements.\n\nSend the proposed lines with the leaf changes they render. A hand-edited render is evidence of the intended change, not an admitted contribution. Do not edit the accepted TARGET to make a test or ceiling pass. If a render disagrees with the lock, fix the proposed lines and re-render it.\n\nCommit only the project's TARGET.bound and native receipts.bound as bound files. The first .gitignore line excludes .bound/. Do not commit keys, stores, ledgers, caches, capsules, archives or vendored dependencies.\n\n## Submit a pull request\n\nExplain the concrete behavior before and after the change, the affected layer, and the checks you ran. Include stdout, stderr and exit status for a CLI case. State which reader and input bytes produced the evidence; a source harness is not an installed-package proof.\n\nPolicy changes receive explicit team review separately from measurements of the proposed source. Keep incompatible readings and their origins visible. Never remove a failing test or weaken a ceiling to obtain acceptance. Withdraw statements through their admitted history; do not rewrite prior signatures, tags or releases.\n\nDocumentation and workflows follow the same review: propose their lines and include the rendered changes.\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-1 shape=CONTRIBUTING.md value=lock bound-lock/1 about="# Exact release artifact\n\nPacking is a host operation. An archive digest names those archive bytes; it is not the identity of a Topos standing. The release pipeline makes one archive and transfers that same file to its destinations. Repeating a pack operation is not a proof of identical bytes.\n\nThe archive conformance vector declares the host package command, digest algorithm, execution deadline, response bound and its sample packages. It packs each sample once, hashes the resulting bytes, verifies both destination copies, installs offline without package scripts and compares every listed installed member with the input bytes. It executes the installed entry and checks its declared output. Changed archive bytes refuse by digest before they can be treated as the named artifact. The negative control fails when that verification is removed.\n\nThe samples use independent packages with different contents. Their outputs and member digests are captured by the executable vector; their file presence alone is not evidence. The selected publication reader measures this quartet through the existing process contract, and native receipts supply its member status to the plan.\n\nThis is conformance of the packaging recipe. Acceptance of a particular Bound candidate additionally requires the exact archive audit, clean installation and product CLI captures for that archive. A previous archive's captures cannot certify changed implementation bytes. The final candidate must be rebuilt after admitted metadata changes, with every changed member accounted for. The product witness uses the installed reader directly, without a checkout ledger or source conditions.\n\nRendering and installation are different boundaries. README, the manifest and the standard MIT text remain native renders. Publication to a registry or forge is a later owner action; this vector does not publish, authenticate to an account, create a tag or infer an external release from a local file.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-archive shape=docs/contracts/archive.md value=lock bound-lock/1 about="# Explanation — historical profile\n\nThe declared view selects idea, what-holds and refuses from the byte-pinned historical document provider. The place owns its language and prose. Idea renders its own heading and body. The other two regions require their declared law readings or captured refusals; absent evidence supplies no invented result. The executable sample uses two unrelated places, checks the complete explanation file, repeats the product fold without a file difference and asks the named view directly. It also refuses a well-formed view asking an unoffered region. This quartet proves own-prose projection and absence under this profile; it does not certify law readings, a rejection corpus, typed-object states or the pending general document contract. Bound does not parse this prose.\n\n# README — historical profile\n\nThe declared view selects hero@3, commands@3 and idea@3 from the byte-pinned historical document provider. The place supplies its name, tagline, language, sentence rule and idea. Commands and measured badges are absent in the sample: no command, number or success is invented to fill them. Two unrelated places check the generated README, a second unchanged product fold and the named view; a declared unoffered region refuses by name. The implementation member is verified against the admitted historical artifact. This quartet proves the selected prose profile, not command execution, badges with measured values or a general document grammar. The eight text@3 demands remain unpaid.\n\n# Citation file — historical profile\n\nThe declared view asks the pinned document provider for cff at resolution 3. It projects the place name, version and optional citation metadata into CFF text. The sample uses the exact implementation member from the admitted historical artifact, names its hash and license, and exercises two unrelated places through the compiled CLI. It checks complete citation bytes and two equal readings; title and version follow each place. An unoffered region refuses by view name. Missing optional metadata is omitted; missing name can produce an empty answer under this historical profile. Rendering is not verification of a scientific claim or an external DOI. This pinned profile does not implement the pending general document contract.\n\n# Guide — historical profile\n\nThe declared view asks seq from the pinned historical document provider. The place owns page/seq lines and their heading. Canonical input order supplies the steps; the provider numbers that order and writes the requested shape. The executable sample uses two unrelated procedures, checks their complete Markdown and reads each view twice without differences. A declared view with an unoffered region refuses by name. An empty step set may have an empty answer; it is not invented evidence. A rendered instruction does not prove that instruction was executed. The implementation bytes remain the existing pinned profile, not a document grammar inside Bound.\n\n# Reference — historical profile\n\nThe declared view combines term, set and ref from the pinned historical document provider. The profile projects the place term and meaning, its selected world names and links to its declared Markdown shapes. The executable sample runs two unrelated places, checks their own term and meaning, the actual selected world and relative guide link, and captures two identical CLI readings. A view asking an unoffered region refuses by name. Missing terms or links can yield empty component answers; these are not measurements or a claim that obligations were paid. These historical regions and selectors belong to the selected Topos; Bound supplies verified inputs and dispatch only. The general document contract remains unpaid.\n\n# Manifest render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place assigns its complete manifest text to its output shape; Bound verifies and dispatches the selected offer and writes that shape. The provider does not infer a package schema, dependency graph or fields from the filename. The sample renders two places with distinct JSON bodies twice and checks exact file bytes. Two distinct prose bodies assigned to the same shape refuse; earlier outputs remain unchanged. This proves rendering, not that arbitrary JSON is an installable package.\n\n# Workflow render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. The place owns the workflow text and its shape; Bound does not infer a forge or manufacture pipeline steps. The sample writes distinct YAML bodies in two places, reads the rendered files twice and compares exact bytes. Conflicting bodies for one shape refuse without replacing prior outputs. This is a render contract, not evidence that a forge executed, staged or published a release. The release pipeline has its separate artifact gate.\n\n# Usage render profile\n\nThis declared view uses the selected verbatim-prose provider at text@3. A prose line with measure=text and the requested shape supplies its own body. The sample renders distinct Markdown bodies in two places twice and compares exact bytes. Multiple identical bodies are one text; differing bodies for one shape refuse. It invents no sections or documentation schema. This existing profile does not pay the eight general-document demands or validate commands that prose happens to mention; executable commands require their own captured vectors.\n\n# Build configuration — historical profile\n\nThe declared tsconfig view asks the admitted package provider for its build region. It projects the place's build/* lines whose shape matches the requested file: true and false become JSON booleans, other option values remain strings, and include separates its declared alternatives. The byte-fixed fixture names the implementation member and its artifact independently; Bound does not interpret compiler options. Two unrelated places exercise the compiled CLI, check the complete generated configuration and two byte-identical readings. A declared view asking an unoffered region refuses by name. This profile renders configuration; it does not validate compiler options or claim a successful build. An empty option set renders an empty compilerOptions object. It is a pinned historical profile, not the pending general document contract.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-documents shape=docs/contracts/documents.md value=lock @@ -8,7 +8,7 @@ bound-lock/1 about="# Published contracts\n\nEvery public surface names its cont bound-lock/1 about="# Using Bound\n\nThis guide covers the current CLI in a place whose wire and authority are already admitted. A fresh unsigned TARGET is a proposal, not a trusted project. The prepared repository is not yet a certified empty-clone bootstrap.\n\n## Before the first fold\n\nYou need the team's accepted TARGET and trust context, authentic bytes for each selected digest, and the readers/views that TARGET names. Do not borrow a neighbouring repository's ledger or copy node_modules to make a missing pin look available.\n\nThe published repository carries exactly TARGET.bound and receipts.bound as bound files. Local admission history lives in the ignored .bound/ store. Published standing excludes the signature envelope; owner public keys retain their signatures.\n\nStart by asking for help and folding the project. If a selected view is unavailable, use the named refusal and its fix; do not invent an output with a similar name.\n\n## Keys and coverage\n\nUse a named key already admitted by the project. The authority contract declares its public key, class and scope coverage. Signing uses a declared port. The lock names `keys/ measure=signer value=`; `signer/timeout` and `signer/response-bytes` bound each invocation. The built-in `file` port reads a matching PKCS8 PEM outside the repository through `--key-file`. For a command port, the host supplies a `BOUND_SIGNERS` registry mapping that admitted name to `{ \"kind\": \"command\", \"executable\": \"...\", \"args\": [] }`. A repository declaration cannot authorize a program. `--signer ` must match the admitted selection.\n\nA new device must have its public key and coverage admitted by an authority that already covers the intended scope. The CLI does not currently certify silent key creation or tap-to-sign. This guide does not substitute a self-authorized fixture key for the team's authority.\n\nFor automation through the file port, supply the private key through the runner's secret storage to a temporary external file with restricted permissions. A command signer receives the lot once as canonical signed bytes, one line per record in order. It returns one canonical wire response per record, containing `by` and `sig`, in that same order. Bound verifies the entire reply against the admitted public key before any admission. Timeout, nonzero exit, missing or invalid replies refuse the whole lot; raw signer output is not logged. Hosts can keep private keys outside Bound through this port. Key generation, storage and rotation belong to the host. Do not print, commit or upload it. A source-control token and a Bound authority key have different purposes. Key rotation and revocation are changes to the admitted authority contract, not edits that erase prior signatures.\n\n## Proposal → signature → admission → reading\n\nPrepare the proposed lines outside the repository. Each line must use the current wire's fields, forms and required set. Configuration retains its legacy required fields, including `at`. Typed cells, claims and marks use their exact row grammar; `role=reads` or `at` cannot repair an incomplete typed record.\n\nA proposal names `by=target` and omits epoch/signature. The CLI assigns epoch from admitted history when signing. Never copy an epoch from an example or change a signed line's body.\n\nUse the signing and admission transaction in the README. Shell `&&` prevents a failed sign from being followed by land. Successful signing alone does not mean admission. Successful admission alone does not mean every requirement is paid. Fold after land and inspect its states, receipts and exit status.\n\nCLI sign authenticates wire inscriptions. It is different from the object's travelling ceiling sign. The selected Topos decodes spans and supplies origin/witness context; Bound must not guess those from by, widens or a path.\n\n## Reading and withdrawing\n\nAsk only for a view admitted by the project, such as cells. A local join widens that cell with a witness; it leaves the travelling ceiling live. A travelling require supplies a floor. Claims carry distinct origins; their signatures do not by themselves establish independent origins.\n\nFor typed histories, a negative record names the exact id in takes. Withdrawing a claim removes that live observation; withdrawing a join removes that local widening, not the sign. A fresh claim with the same content is a new identity, not resurrection of a withdrawn id. Re-delivery of the same signed bytes is idempotent.\n\nFor configuration, the negative line preserves the exact non-envelope selectors and changes value to withdraw. Do not withdraw and replace identical selectors in the same batch. Use a new epoch when superseding an alphabet declaration. Never withdraw evidence merely to obtain a green verdict.\n\n## Receipts and refusals\n\nreceipts.bound is native fold output. Do not write it by hand, use JSON from a test as a receipt, or copy receipts from another tree. Unchanged inputs can reuse verified region receipts; missing bytes require recomputation or a refusal. A duplicate receipt does not create another origin.\n\nREFUSE·wire means the current grammar does not admit the record. REFUSE·pin/release means named authentic content or its closure is unavailable or does not match. REFUSE·view means the requested view cannot be rendered under its contract. Authority refusal means the signer is not covered. Keep the line and the failed exit status; follow an explicit fix without changing the named digest or dropping a conflicting statement.\n\nrelease/blocks is policy read by the fold. Its admitted category links select existing obligations. The fold prints each missing reading or crossed ceiling as BLOCK; a blocked or incomplete policy is not READY. Read the captured verdict for the exact candidate instead of inferring acceptance from a successful render.\n\n## Repository and PR review\n\nThe accepted TARGET is independent of a contributor's scan. Commit native receipts and admitted renders, not local .bound/ state. A page disagreeing with TARGET must be re-rendered; a ceiling is not lowered to fit the page.\n\nA contribution is a proposed lot with the leaf changes rendered from it. Send that lot for admission by the team's coverage. Do not submit hand-edited lock output as already accepted. Check secrets, extra bound files, foreign vendoring and uncaptured page claims before review.\n\nA review includes the product fold, meaningful suites and verification of the rendered bytes. Preserve their actual output and exit status.\n\n## Declaring a demand\n\nA new demand records what remains to be proved. Admission does not create conformance evidence or pay it. An OWED line after land says the declaration was admitted and remains unpaid. Signing authority and conformance evidence are separate inputs.\n\nThe selected program projection reads declared requirements and handed evidence. Missing evidence stays unread; a missing elapsed-time reading is not zero. A dependency cannot close before its requirements and predecessors. Declaring a plan never certifies a release.\n" at=witness:declared-demand-close by=target form=alphabet measure=text role=writes scope=prose/en/files/public-2 shape=docs/usage.md value=lock bound-lock/1 about="# Walk\n\n`bound fold --as walk@` compares the admitted place with an authenticated peer inventory. Resolution is interpreted by the declared Topos selection and projection contract; it is not restricted to three fixed numbers. The wire declares region membership, context, origin and cuts. The output names touched regions, open regions and payload bytes; protocol and imported bytes carry their own units.\n\nForeign history retains its signed origin epoch. Sender keys authenticate that history and never grant coverage or independent origins in the receiver. Whole-region prefixes are verified before ingress. Import and the receiver-signed local receipt commit atomically; only that receipt advances the receiver's local epoch. Foreign withdrawals are confined to the same authenticated origin and exact identifier. A repeated valid delivery adds no lines and retains its existing import receipt. A rejected or interrupted ingress adds neither evidence nor a receipt.\n\nThe published sample uses the same compiled public reader on measurement and artifact places. It compares equal summaries, opens a differing region, exchanges at intermediate declared resolutions, converges by union, retains disagreement and verifies replay after a later local act. It rejects tampered payloads, missing records, unauthorized signatures, non-prefix epochs and undeclared context changes. It interrupts a real receiver signer and verifies unchanged ingress and local history. Dead-owner recovery is a separate host action; this view does not silently recover it. The typed object's origin-local claims and withdrawals are a separate conformance vector, not inferred from configuration counts.\n" at=witness:publish-native-walk-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/view-walk shape=docs/contracts/view-walk.md value=lock bound-lock/1 about="# fold\n\n`bound fold` reads the admitted place. Configuration output names readings and says no encounters computed; its counts are not independent-origin states. A declared cells view projects admitted typed history into Obligations. A selected world defines other views; its contract decides when empty output is valid. A refusal or nonzero status wins over any parseable diagnostic stdout. `--check` verifies receipts without inventing a missing reading. The published evidence vector folds fresh places, preserves admitted key attribution, reads a native receipt and checks exact withdrawals. The typed-object quartet covers object states separately.\n\n# land\n\n`bound land ` admits authenticated lines through the same boundary used by signing and previews. Authority, coverage, historical wire and typed context remain distinct checks. Unknown wire and tampered signatures refuse. Exact redelivery returns ONCE; it does not append another origin or grant new authority. Withdrawals remain exact under their declared contract. A refusal does not append a partial act. The published evidence vector lands fresh places, refuses unauthorized writes and tampering, redelivers signed bytes and exercises exact withdrawals. The signing-port vector additionally checks interrupted or invalid command responses do not land a partial lot.\n\n# sign\n\n`bound sign ` returns canonical signed lines after validating the whole lot. The admitted key selects a declared signer; `--signer` selects the same port explicitly. File and command mechanisms use one port. Topos signing-lot/1 frames canonical bytes in lot order, one invocation per lot, and returns signatures and public-key IDs. Verification checks the admitted public key, independently of the mechanism. A command is invoked without a shell and under declared bounds. No secret output is disclosed in refusals. Missing, invalid, partial, timed-out or failed responses refuse; `land` cannot commit their partial output. The sample compares file and command signatures and landed lines, checks invocation count and ledger hashes, and refuses an unknown wire version. The sample uses ephemeral keys outside the place; no owner key is included.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-cli shape=docs/contracts/cli.md value=lock -bound-lock/1 about="## Typed cell, claim and mark records\n\nThe object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile.\n\n`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope.\n\nThe common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission.\n\n| Row | Fields in addition to the common envelope | Meaning |\n| --- | --- | --- |\n| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. |\n| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. |\n| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. |\n| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. |\n| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. |\n| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. |\n| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. |\n\nEach row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin.\n\nFor a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested.\n\nThe cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred.\n\n`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification.\n\nAfter admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters.\n\nThe shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place.\n\n## Running the published place\n\nRun `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied.\n\nThe accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form.\n" at=witness:shipped-reference-paths by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock +bound-lock/1 about="## Typed cell, claim and mark records\n\nThe object profile is selected by admitted `wire/object/*` claims in a historical wire snapshot. The epoch of `wire/object/types` is its activation E; a typed record must have epoch >= E. An older record keeps the older grammar. Merely adding object words to `wire/fields` does not admit a typed profile.\n\n`fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope.\n\nThe common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the declared reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission.\n\n| Row | Fields in addition to the common envelope | Meaning |\n| --- | --- | --- |\n| cell | form, measure, params, restsOn, topos | Define a cell and its selected form/context. |\n| claim/positive | sign, origin, value | Observe an encoded span, sign=+1. |\n| claim/negative | sign, takes | Withdraw an exact claim ID, sign=-1. |\n| mark/travelling | sign, pole, reach, value | Ceiling sign: sign=+1, pole=ceiling, reach=travels. |\n| mark/local | sign, pole, reach, value, widens | Local join: sign=+1, pole=ceiling, reach=local; another mark, retaining the travelling sign. |\n| mark/floor-travelling | sign, pole, reach, value | Travelling require: sign=+1, pole=floor, reach=travels; no widens. |\n| mark/negative | sign, takes | Withdraw an exact mark ID, sign=-1; no pole/reach/widens. |\n\nEach row has both `wire/object/required/` and `wire/object/allowed/`. Unknown keys, missing required keys, floor/local, floor+widens, and travelling widening refuse without coercion. A configuration demand is unrelated to a floor mark. `by` authenticates a signing key; it is not an independent observation origin.\n\nFor a cell, `restsOn=none` represents no parents; otherwise it is a canonical byte-ordered alphabet of coordinates. Several parents are permitted. Only declared cell-coordinate edges form object rest; a directory prefix, a configuration artifact digest, and a host source location do not. Context validation rejects reachable cycles before algebraic parts are requested.\n\nThe cell's `topos` names folded standing, and its `params` identifies declared parameter bytes. A selected provider decodes values and supplies origin/witness authorization from admitted evidence. A host does not infer interval endpoints, map a key to an origin, or accept widens as its own witness. Missing pin, artifact, decoder, origin or witness refuses by cause. Cell definitions and pins are immutable in this profile; migration is not inferred.\n\n`objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification.\n\nAfter admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters.\n" at=witness:minimal-contract-015 by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-typed-object shape=docs/contracts/typed-object.md value=lock bound-lock/1 about=", & " at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cite/and value=lock bound-lock/1 about="\nOne history, several viewsIllustrative spatial view of B, C, G and independent D. C rests on B and G rests on C. B's travelling ceiling is 0 to 50 and travelling floor 40 to 100. Its local join widens only B to 0 to 100. Region receipts retain selected topos and implementation identity. Background points are decorative, not additional measured cells.\n\n\n\n\n\n\n\n\n\nTHE ALGEBRA IN 60 SECONDS\nOne history. Several views.\nA cell keeps its readings. A connection carries only what travels.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTravelling bounds\nceiling 0..50floor 40..100\nB → C → G\n\nLocal join\nB widens to 0..100\nThe travelling sign stays live.\n\n\nB\nC\nG\nD\nceiling 0..50\nceiling 0..50\nIndependent cell\nD declares no rest on B.\nRegion: the cells selected by a view\n\nSelected topos\nForms and views · pinned folded standing\nReceipts at resolution 1\nSemantic inputs + selected implementation\nIllustrative layout · connections denote declared rest · position and size do not measure importance\n" at=policy:public-prose by=target form=alphabet measure=text role=writes scope=prose/en/files/public-3 shape=docs/readme-assets/atlas.svg value=lock bound-lock/1 about="A REFUSE prints its line and stops. Nothing after it is a fact." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/a-refuse-plants.json|samples/no/a-refuse-plants.json role=demands scope=law/a-refuse-plants value=present @@ -25,7 +25,7 @@ bound-lock/1 about="A sequence of declared readings is not an indivisible act. P bound-lock/1 about="Algebraic vacuity, absence of observations and lack of recent activity are separate facts. A view may expose inactivity over an admitted window, but cannot rename it algebraic vacuity or read missing history as zero." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/02 value=lock bound-lock/1 about="Bind a package release with the pipeline views. Bind a page to its receipts with view/readme. Refuse a dependency drift with dep pins. Ask a second head that must agree." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/learn value=present bound-lock/1 about="Bound is the application of that algebra: signed bounds, folded by one meet, refused when they fork." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/paper value=present -bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nFor observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED.\n\nRun the executable example with the installed CLI:\n\n```sh\nnpm install @lapxo/bound@0.1.5\nnode node_modules/@lapxo/bound/tools/samples/run-typed.mjs\n```\n\nThe sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md).\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present +bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.5 fold --as lines\nnpx @lapxo/bound@0.1.5 fold --as receipts@1\nnpx @lapxo/bound@0.1.5 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nIndependent observations are judged through the declared typed cells view. The selected topos supplies the form, origin evidence and bounds. Bound keeps attribution and exact-ID withdrawals through the fold.\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/ measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.5 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.5 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/` says where a world can be obtained. An admitted `uses/` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:minimal-readme-015 by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present bound-lock/1 about="Cite it as {name}." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/name value=lock bound-lock/1 about="Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/cff/paper value=lock bound-lock/1 about="Conflicting live wire declarations refuse by scope; no vacuous alphabet." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/wire/unique-live-alphabet.md|samples/yes/wire/unique-live-alphabet.json|vectors/wire/unique-live-alphabet.json|samples/no/wire/unique-live-alphabet.json role=demands scope=wire/unique-live-alphabet value=present @@ -312,7 +312,7 @@ bound-lock/1 about="what the second head found, which leaves the place has writt bound-lock/1 about="when the apart claim is withdrawn" at=policy:bound/door by=target form=alphabet measure=id role=writes scope=form/style/fold/back value=2.2 bound-lock/1 about="where a located world keeps each region file, by directory and extension, so the host loads the tree beside the pin" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=release/layout value=src/regions:.ts bound-lock/1 about="who signs this place" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=author value=Lapxo -bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"samples/typed/*.json\",\n \"tools/samples/*.mjs\",\n \"samples/walk/*.json\",\n \"vectors/native-walk.json\",\n \"docs/contracts/*.md\",\n \"docs/contracts/*.publication.json\",\n \"docs/contracts/publication.inventory.json\",\n \"samples/yes/typed-object.json\",\n \"samples/no/typed-object.json\",\n \"samples/yes/attest-evidence.json\",\n \"samples/no/attest-evidence.json\",\n \"vectors/typed-object.json\",\n \"vectors/attest-evidence.json\",\n \"samples/yes/signing-port.json\",\n \"samples/no/signing-port.json\",\n \"vectors/signing-port.json\",\n \"samples/yes/native-views.json\",\n \"samples/no/native-views.json\",\n \"vectors/native-views.json\",\n \"samples/yes/query-views.json\",\n \"samples/no/query-views.json\",\n \"vectors/query-views.json\",\n \"samples/yes/prose-views.json\",\n \"samples/no/prose-views.json\",\n \"vectors/prose-views.json\",\n \"samples/yes/program-views.json\",\n \"samples/no/program-views.json\",\n \"vectors/program-views.json\",\n \"samples/yes/historical-document-views.json\",\n \"samples/no/historical-document-views.json\",\n \"vectors/historical-document-views.json\",\n \"samples/yes/historical-build.json\",\n \"samples/no/historical-build.json\",\n \"vectors/historical-build.json\",\n \"samples/yes/historical-presentation.json\",\n \"samples/no/historical-presentation.json\",\n \"vectors/historical-presentation.json\",\n \"samples/yes/walk.json\",\n \"samples/no/walk.json\",\n \"vectors/walk-publication.json\",\n \"samples/yes/archive-conformance.json\",\n \"vectors/archive-conformance.json\",\n \"samples/no/archive-conformance.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock +bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.1.5\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"test\": \"node --import ./test/setup.ts --test --test-concurrency=2 test/*.test.ts\",\n \"clean\": \"rm -rf dist .tsbuildinfo* tsconfig.tsbuildinfo\",\n \"build\": \"node tools/build.mjs\",\n \"prepack\": \"npm run build\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"docs/contracts/*.md\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.3.5\",\n \"@lapxo/topos\": \"^0.1.11\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}\n" at=witness:minimal-public-surface-015 by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock bound-lock/1 about="{\n \"profile\": \"quartet-process@1\",\n \"scope\": \"contract/published\",\n \"surface\": [\n \"contract/published/attest-evidence-view\",\n \"contract/published/cli/fold\",\n \"contract/published/cli/land\",\n \"contract/published/cli/sign\",\n \"contract/published/pipeline/archive\",\n \"contract/published/typed-object-sample\",\n \"contract/published/view/card\",\n \"contract/published/view/citation-file\",\n \"contract/published/view/explanation\",\n \"contract/published/view/guide\",\n \"contract/published/view/help\",\n \"contract/published/view/lines\",\n \"contract/published/view/manifest-render\",\n \"contract/published/view/programs\",\n \"contract/published/view/readme-historical\",\n \"contract/published/view/receipts\",\n \"contract/published/view/reference\",\n \"contract/published/view/release-workflow-render\",\n \"contract/published/view/tsconfig\",\n \"contract/published/view/usage-profile\",\n \"contract/published/view/walk\",\n \"contract/published/view/why\"\n ],\n \"note\": \"Explicit public-surface inventory. A selected coordinate without a descriptor is unpaid. Outstanding capability demands are not advertised implementations.\"\n}" at=witness:exact-archive-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-inventory shape=docs/contracts/publication.inventory.json value=lock bound-lock/1 about="{count} hold" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/badge/held value=lock bound-lock/1 about="{lo}..{hi} · {state}" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/fold/together value=present diff --git a/docs/contracts/evidence-view.md b/docs/contracts/evidence-view.md index 52fbe0c..fc44387 100644 --- a/docs/contracts/evidence-view.md +++ b/docs/contracts/evidence-view.md @@ -2,6 +2,5 @@ The declared evidence@8 view projects authenticated delivery history of this place. It preserves signatures and key attribution, including admitted receipts from an attest-class key. Evidence is not normative configuration, proof of truth, or an independent observation origin. Authority and coverage are checked by the existing Topos contract; no consumer or device type changes that boundary. -Run `node tools/samples/check-publication.mjs evidence samples/yes/attest-evidence.json samples/no/attest-evidence.json` from the installed package directory. Each accepted class creates a fresh place and independent ephemeral authority. The attest case generates a native receipts@0 digest, signs it, lands it and verifies its signature from evidence@8. Re-delivery returns ONCE. Aliases of one public key do not become new origins. The no sample specifies an uncovered write and tampered signed bytes. Both must refuse by name. Exact withdrawals remove only covered normative lines; authenticated evidence remains inspectable. The vectors assert status, signature verification and observable CLI output. No private key bytes are printed or shipped. diff --git a/docs/contracts/typed-object.md b/docs/contracts/typed-object.md index 5e4dcd3..0808744 100644 --- a/docs/contracts/typed-object.md +++ b/docs/contracts/typed-object.md @@ -4,7 +4,7 @@ The object profile is selected by admitted `wire/object/*` claims in a historica `fromLine` selects grammar before validating required fields: a record without `type` remains configuration, retaining its required `at`, `role`, `form`, `measure` and `value`; a typed record selects its exact required/allowed row. Configuration cannot carry object-only fields. An incomplete typed record receives no configuration defaults. The parse result distinguishes configuration from cell/claim/mark. `sign=+1|-1` is an object act, `sig` its signature envelope, and a host sign operation produces that envelope. -The common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the shipped reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission. +The common object envelope is `type`, `scope`, `id`, `epoch`, `by`, `sig`. Object records reject `at`: epoch orders acts, and `widens` names a local join witness. The following is the declared reference profile. The admitted row alphabets, not this table or a host decoder, are the source of required/allowed field permission. | Row | Fields in addition to the common envelope | Meaning | | --- | --- | --- | @@ -25,11 +25,3 @@ The cell's `topos` names folded standing, and its `params` identifies declared p `objectHistory` preserves typed history separately from configuration; `validateObjectContext` checks IDs, cell ownership, exact takes, witness order and declared rest under the selected context. Exact redelivery is idempotent; one ID with different canonical content refuses. Signature-envelope differences never bypass verification. After admission, the instrument projects the acts into Obligations. Sign and require travel along declared rest; a witnessed join is local. Descendants inherit travelling marks without local widening. Live exact-ID withdrawals remain confined to their authenticated history. Keys, snapshots, signing devices and repeated receipts do not create independent origins. Compatible meets are not forks. Object states and their precedence come from Obligations; configuration folds do not compute object encounters. - -The shipped `samples/typed/wire.json` declares the reference grammar. The interval and alphabet places in `samples/typed` exercise distinct forms through the same admission path. Their fixture authority does not authorize another place. - -## Running the published place - -Run `node tools/samples/check-publication.mjs typed-object samples/yes/typed-object.json samples/no/typed-object.json` from the installed package directory. The executable sample creates an isolated place with ephemeral authority and the selected provider closure before defining cells. It captures native cells@1 output and compares each scene to direct Obligations operations. No production activation is implied. - -The accepted scene includes travelling sign and require, a local join that retains the sign, all four states, both conflict causes and exact-ID withdrawals. The refusal sample names rejected rows; each refusal must leave the ledger unchanged. The negative sample is executed, not displayed as a list. Receipt replay must be idle. The alphabet sample under samples/typed demonstrates the same contract with another form. diff --git a/package.json b/package.json index 0ace998..9d69546 100644 --- a/package.json +++ b/package.json @@ -27,49 +27,7 @@ "receipts.bound", "docs/usage.md", "docs/readme-assets/atlas.svg", - "samples/typed/*.json", - "tools/samples/*.mjs", - "samples/walk/*.json", - "vectors/native-walk.json", - "docs/contracts/*.md", - "docs/contracts/*.publication.json", - "docs/contracts/publication.inventory.json", - "samples/yes/typed-object.json", - "samples/no/typed-object.json", - "samples/yes/attest-evidence.json", - "samples/no/attest-evidence.json", - "vectors/typed-object.json", - "vectors/attest-evidence.json", - "samples/yes/signing-port.json", - "samples/no/signing-port.json", - "vectors/signing-port.json", - "samples/yes/native-views.json", - "samples/no/native-views.json", - "vectors/native-views.json", - "samples/yes/query-views.json", - "samples/no/query-views.json", - "vectors/query-views.json", - "samples/yes/prose-views.json", - "samples/no/prose-views.json", - "vectors/prose-views.json", - "samples/yes/program-views.json", - "samples/no/program-views.json", - "vectors/program-views.json", - "samples/yes/historical-document-views.json", - "samples/no/historical-document-views.json", - "vectors/historical-document-views.json", - "samples/yes/historical-build.json", - "samples/no/historical-build.json", - "vectors/historical-build.json", - "samples/yes/historical-presentation.json", - "samples/no/historical-presentation.json", - "vectors/historical-presentation.json", - "samples/yes/walk.json", - "samples/no/walk.json", - "vectors/walk-publication.json", - "samples/yes/archive-conformance.json", - "vectors/archive-conformance.json", - "samples/no/archive-conformance.json" + "docs/contracts/*.md" ], "author": "Lapxo", "license": "MIT", From 523cbdc8514728fa771ba2f7c0835df02f007980 Mon Sep 17 00:00:00 2001 From: NahumDev <60716442+NahumOchoa@users.noreply.github.com> Date: Thu, 8 Oct 2026 12:26:30 -0600 Subject: [PATCH 6/6] Refresh native closure after public tools cleanup --- .../attest-evidence.publication.json | 2 +- docs/contracts/typed-object.publication.json | 2 +- docs/why.md | 11 +- receipts.bound | 606 +++++++++--------- 4 files changed, 290 insertions(+), 331 deletions(-) diff --git a/docs/contracts/attest-evidence.publication.json b/docs/contracts/attest-evidence.publication.json index b82a36f..88d848f 100644 --- a/docs/contracts/attest-evidence.publication.json +++ b/docs/contracts/attest-evidence.publication.json @@ -4,7 +4,7 @@ { "role": "contract", "path": "docs/contracts/evidence-view.md", - "digest": "sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7" + "digest": "sha256:522740051150e3b35dcca31bcc398b18b8cc8b5f9b18417ec4c676f5ea59e61d" }, { "role": "yes", diff --git a/docs/contracts/typed-object.publication.json b/docs/contracts/typed-object.publication.json index f86528e..1c84237 100644 --- a/docs/contracts/typed-object.publication.json +++ b/docs/contracts/typed-object.publication.json @@ -4,7 +4,7 @@ { "role": "contract", "path": "docs/contracts/typed-object.md", - "digest": "sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05" + "digest": "sha256:73925fbdaa4a9418b63fe28a9f6d36430eaaa59eb357657cdbe45129fb9454fe" }, { "role": "yes", diff --git a/docs/why.md b/docs/why.md index ff689d3..61c6866 100644 --- a/docs/why.md +++ b/docs/why.md @@ -14,16 +14,7 @@ npx @lapxo/bound@0.1.5 fold --check Use this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters. -For observations from independent origins, use the typed cells view. In the shipped interval example, B's travelling ceiling is `0..50` and its travelling floor is `40..*`. A witnessed local join widens B to `0..100` while C and G keep the travelling ceiling `0..50`. Observations `42..48` and `44..47` on C meet at `44..47`; the native view reads FREE. Withdrawing one exact claim leaves one origin and reads REQUIRED. - -Run the executable example with the installed CLI: - -```sh -npm install @lapxo/bound@0.1.5 -node node_modules/@lapxo/bound/tools/samples/run-typed.mjs -``` - -The sample creates a temporary place with its own key and declared provider, signs and lands the exact sample records, then prints each `SCENE` and `CELL`. It includes both conflict causes, an encounter outside the bounds, exact-ID withdrawals and receipt reuse. It removes that temporary place afterwards; its key grants no authority to your project. [Typed records and sample](https://github.com/Lapxo/bound/blob/main/docs/contracts/typed-object.md). +Independent observations are judged through the declared typed cells view. The selected topos supplies the form, origin evidence and bounds. Bound keeps attribution and exact-ID withdrawals through the fold. A selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units. diff --git a/receipts.bound b/receipts.bound index 4a9d001..10d7963 100644 --- a/receipts.bound +++ b/receipts.bound @@ -1,247 +1,229 @@ -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=071d908324529800 -bound-lock/1 at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=09f95300564a2597 -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=1ebd2fb40bd9c4da -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=20a5809a736d1648 -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=2a49b6a91dd16cee -bound-lock/1 at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=2c8d858d0a2d739a -bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=2cb559ed40efa558 -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=2d04adfa562a1477 +bound-lock/1 at=place:sha256:016b057e0b7881814a5f5c4037bdf86ad21832e612ecf6f15572d6a5239d3562 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=016b057e0b788181 +bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/sign value=02d170611b5e36f6 +bound-lock/1 at=place:sha256:0ae0dabaefde481e9aafd26cb34fa8e4fd1752951c542d58135e5a40e8743a0e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published value=0ae0dabaefde481e +bound-lock/1 at=place:sha256:0b84bfd900a3a45bb896cfc6194a3104df04d9e29b0fdb84ffa98081e23d40b9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c value=0b84bfd900a3a45b +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=12d296c24aac7286 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=12d296c24aac7286 +bound-lock/1 at=place:sha256:18962bf356bc0bdec1933236c430d3b4d93cb11643a3c10cb4f1f825a887b0de by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=18962bf356bc0bde +bound-lock/1 at=place:sha256:22fd7319ca3fe91ffc8cefdaa1cb93834d1e94f23866f3048afb3c5173871283 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 value=22fd7319ca3fe91f +bound-lock/1 at=place:sha256:27ea9fd3811d6af6e3499f5465e62ef4bc17cda1e28e0297d7c7ab59a94aa6a7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b value=27ea9fd3811d6af6 +bound-lock/1 at=place:sha256:286301dd7741d2517b2f4b8577d6306c48a75264ccdbea3559fdaa40bfd2f6b7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=286301dd7741d251 bound-lock/1 at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=2d105b936f1ad95d -bound-lock/1 at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=2d1fd8c7ac82c5f2 -bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=330ff2c1eff19e4d -bound-lock/1 at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=35c295396fe48de3 -bound-lock/1 at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=375927d10a1ab54c -bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published value=3cc406dc78785a8e -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/why value=4240854df5d1e6a6 -bound-lock/1 at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=428fd66e16ff6c94 -bound-lock/1 at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=4fe32ff0efcbb684 -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=51c635c6bbf573e9 -bound-lock/1 at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5d252a39a5e2e1c2 -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=637f6f93ba7d3291 -bound-lock/1 at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=6649c3496c7363c3 -bound-lock/1 at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=68135abf8b3d3949 -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=753fd8d9924fa763 -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/card value=7c8114b57169ee07 -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=83b36d05ab9ae7b5 -bound-lock/1 at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=960c34893ee4d384 -bound-lock/1 at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=972a9fd39eaf078d -bound-lock/1 at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=975b8ef6e0522023 -bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=9799ee315fb83ec9 -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=9abcbd07b03d0f7f -bound-lock/1 at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=9ea7fb1da3e8b7a3 -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=a0541d7dd3e4cf74 -bound-lock/1 at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=a3275d51a28d0179 -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=ac4d615f33093661 -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=ae0831f740958998 -bound-lock/1 at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=ae944235f9f31de3 -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/help value=aebd31c736e81397 -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=b043341704c0fc34 -bound-lock/1 at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=b0ea35f7168ed26b -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=observed role=writes scope= value=b36cef98c8154c50 -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=b5750248a64817cf -bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=b9ce50ddf902f16e -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=b9d645d43a565a44 -bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=c1bb280370ffd655 -bound-lock/1 at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=c46e5245442d8468 -bound-lock/1 at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=c5981d283d564035 -bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=c9c398754a4d3726 -bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=cb7a5607027b337d +bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/receipts value=2e65d8efc4e522b8 +bound-lock/1 at=place:sha256:33fe10dee97b5b58f219449e404a691c851edf8d4452319c9f19ddb5c6d6ae49 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c value=33fe10dee97b5b58 +bound-lock/1 at=place:sha256:356f6f63fe3f6ca2efc3784daa65ac99be016e37299d81d48dab65c01162827b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f value=356f6f63fe3f6ca2 +bound-lock/1 at=place:sha256:3c261753fb0ac4756471fab14c8fa75aa2a684f25defe6704436d3e6537f4813 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f value=3c261753fb0ac475 +bound-lock/1 at=place:sha256:401c79478174d4ea0cd6e60861c8e7f22cc05b201e7090d06592eacd446dc7fd by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 value=401c79478174d4ea +bound-lock/1 at=place:sha256:46f0a2d1a6e62392d67f072527b5bdc3e3c0a9790bc86584e3f9167ee2d0fe69 by=reader:04feef01a8c5 form=alphabet measure=observed role=writes scope=./ value=46f0a2d1a6e62392 +bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/card value=4882565964567a3c +bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/citation-file value=4af44663b57f04c8 +bound-lock/1 at=place:sha256:51c989c8398539fd856c0a503bf1d19bb63da348deaf12bf359f5bb9ae66edbc by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=51c989c8398539fd +bound-lock/1 at=place:sha256:5497250f21cae4ea13927a4eb200e61fc6109497ac9145857b2d39e3503cf036 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 value=5497250f21cae4ea +bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/release-workflow-render value=59981e0dc076e5bb +bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/help value=606d733c96ceeef8 +bound-lock/1 at=place:sha256:627263bd9c1efc14089183909f596b8c077cee919632ac66265f6df8097741e9 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf value=627263bd9c1efc14 +bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/land value=6895a06c8c527303 +bound-lock/1 at=place:sha256:72f4971c211abd0ef8f0dd22dcbd7898e9c2180615025e742fa7134279b8aca4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 value=72f4971c211abd0e +bound-lock/1 at=place:sha256:73cd91242a512c2c91db16356571aaacb91f70d9abf7a62c11ff3e3dc54c6887 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e value=73cd91242a512c2c +bound-lock/1 at=place:sha256:78287c5074c7e7544a568d14d9d8e3244f2bccd8e4bd848fa43a1b48b5547c32 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f value=78287c5074c7e754 +bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=7e711ad2867b736a +bound-lock/1 at=place:sha256:81efb0bc6be0a816672ce24f813d6a6b68b4777dacac2abe9685969d3bbcd2b4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=81efb0bc6be0a816 +bound-lock/1 at=place:sha256:846dfb54ddf7f6f91af763e17a93971744331c0a4623b0ca743ba583a9a0b431 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 value=846dfb54ddf7f6f9 +bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/explanation value=84993cd7d02c0e8a +bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/attest-evidence-view value=8d7416ad2205c9ab +bound-lock/1 at=place:sha256:8dbed6f68003f8331a7751863c9855c4fe12cbac1899eebfb7edb01deaf9a289 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea value=8dbed6f68003f833 +bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/walk value=8e675c4bbe8f90b8 +bound-lock/1 at=place:sha256:90cb0cf49fd948cad0d063582714eeb67b0d45716d0d10bb4ea422709b4c1126 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 value=90cb0cf49fd948ca +bound-lock/1 at=place:sha256:92a5542e4e172b0f23bae2db5803bda063810aeffa81a4d462ea31a37852a87e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 value=92a5542e4e172b0f +bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/typed-object-sample value=9b99180418307609 +bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/why value=ac8dede30afbab95 +bound-lock/1 at=place:sha256:ae86ff6459dbeb06cf25e48b61be04acb004962ee3b658ec6302cfccb2893dbd by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 value=ae86ff6459dbeb06 +bound-lock/1 at=place:sha256:b44e6e447635c1680a4331b3c4c7f7dcb673969759b2643b5529b84d009be01b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 value=b44e6e447635c168 +bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/tsconfig value=c19e0e84fce58e57 +bound-lock/1 at=place:sha256:c2043ab008c7b2ca76f6bff173d203e0fbf8e42eacc0f5d8ad373b1014a66c31 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 value=c2043ab008c7b2ca bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=d2eb1fec213fc191 -bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=dab94601f6ee76e5 -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/cli/fold value=e0a39d3f852d5c01 +bound-lock/1 at=place:sha256:d5fda6295ad59e9ceed5143aa4b35e64c5438d758728cf033a23d089392c2da1 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=d5fda6295ad59e9c +bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/programs value=d8a9b617aac1d532 +bound-lock/1 at=place:sha256:dc7179fbff0f1dffe0ab3d0f25f2262e84e107bdcea6a5d92f12938a57e79810 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=dc7179fbff0f1dff +bound-lock/1 at=place:sha256:ddf17a356900e26badeabff89d82f39cff86b9bcb56ba83e8bcaa4b7b4c18027 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 value=ddf17a356900e26b +bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/usage-profile value=df137c5abda876f2 +bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/lines value=dfed5a46fee7046f bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=observed role=writes scope= value=e2602308ed24728e -bound-lock/1 at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=f02cd38d39c5a14b +bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/guide value=e510a3633fcb70ab +bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=eca5a803bc3b7de6 +bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/reference value=ee67453c707dc9b4 bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/pipeline/archive value=f2ba95dbc77e18d3 -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/readme-historical value=fb6841cdd1a9f691 -bound-lock/1 at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=fd71d5ce54a30a49 -bound-lock/1 about="bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:c46e5245442d84689441bb19c876a54db083ad684b58c7e1b55c542f6aa5c03e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:9ea7fb1da3e8b7a320425decfbeff7fac65f2234e72af61067d2452905adbfa9 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:6649c3496c7363c387e5568a0bdd5206e55740252629e674a042e73d8a14b3e3 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:c5981d283d564035cfb27878204e25d985e1c881a2ebc7d5ea876325045e84db by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:68135abf8b3d3949eb31a86e631a7eb4b4f425cf8bc88f5ceda23436e02bd94e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:b0ea35f7168ed26bd7f4f7b689ea17a7fc5d6300c88d381cee127e5dbadf995d by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:35c295396fe48de36f00873f613a161623c4990a997026e09bcfdd1d41610b03 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:4fe32ff0efcbb68482e3ee7a49b6782fa15a3c82ebd20b6c67b7d0c07e093998 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:960c34893ee4d3848b949fc9eb25bdfa04fd7ed856c420054d0b473556cb8dd4 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:f02cd38d39c5a14b21682c37f854270fe84f575d00480479b87227a1e7231205 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:975b8ef6e0522023bc38c5489c117d4e7529717c23df74ef86ac4bd00af2db83 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:a3275d51a28d01793811b4d7ff8ae90c6cf146f2553e4aa30f607d19e1e70596 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:5d252a39a5e2e1c2f6f13e55c9a5fae5cc9f6368cc4056a3c9ab2ff6a6b27b22 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:2d1fd8c7ac82c5f29faa4d8f662a5356a57e07426630f82d0704c8bf22020a1a by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:09f95300564a2597bce7faf38c4515b445dd7e1f369392e8627db884b64f04ac by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:972a9fd39eaf078d99f102c4aeae3da1b29d617e6279880ca7e00e0147824a64 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:fd71d5ce54a30a49b07d72eee680e0e040fed3c612816b92701e880d36f1bb5e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:375927d10a1ab54c1e2d0d3af2ad5ed9fd5834c16c56c798d69c5e0a783e986e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:ae944235f9f31de3bee844cc6bbf2f3a5ef04472d6aa438ce1084d686c50943c by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:428fd66e16ff6c947db7e89b480b35695475c8fa8b773450659853b00eeb1542 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=5..5 +bound-lock/1 at=place:sha256:f93aad2af89a8fd1ac93a700c11f80c60635d66c66856651ac7949ee0669fa2b by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 value=f93aad2af89a8fd1 +bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=observed role=writes scope=contract/published/view/manifest-render value=ffc6c35806e9a10e +bound-lock/1 about="bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met\nbound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met\nbound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met\nbound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0\n" at=place:sha256:356f6f63fe3f6ca2efc3784daa65ac99be016e37299d81d48dab65c01162827b by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0\n" at=place:sha256:f93aad2af89a8fd1ac93a700c11f80c60635d66c66856651ac7949ee0669fa2b by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0\n" at=place:sha256:72f4971c211abd0ef8f0dd22dcbd7898e9c2180615025e742fa7134279b8aca4 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0\n" at=place:sha256:3c261753fb0ac4756471fab14c8fa75aa2a684f25defe6704436d3e6537f4813 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0\n" at=place:sha256:5497250f21cae4ea13927a4eb200e61fc6109497ac9145857b2d39e3503cf036 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0\n" at=place:sha256:b44e6e447635c1680a4331b3c4c7f7dcb673969759b2643b5529b84d009be01b by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0\n" at=place:sha256:627263bd9c1efc14089183909f596b8c077cee919632ac66265f6df8097741e9 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met\nbound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0\n" at=place:sha256:c2043ab008c7b2ca76f6bff173d203e0fbf8e42eacc0f5d8ad373b1014a66c31 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0\n" at=place:sha256:92a5542e4e172b0f23bae2db5803bda063810aeffa81a4d462ea31a37852a87e by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met\nbound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0\n" at=place:sha256:33fe10dee97b5b58f219449e404a691c851edf8d4452319c9f19ddb5c6d6ae49 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met\nbound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met\nbound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met\nbound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met\nbound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0\n" at=place:sha256:ddf17a356900e26badeabff89d82f39cff86b9bcb56ba83e8bcaa4b7b4c18027 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met\nbound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met\nbound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met\nbound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met\nbound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0\n" at=place:sha256:0b84bfd900a3a45bb896cfc6194a3104df04d9e29b0fdb84ffa98081e23d40b9 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met\nbound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met\nbound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met\nbound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0\n" at=place:sha256:73cd91242a512c2c91db16356571aaacb91f70d9abf7a62c11ff3e3dc54c6887 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0\n" at=place:sha256:8dbed6f68003f8331a7751863c9855c4fe12cbac1899eebfb7edb01deaf9a289 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met\nbound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met\nbound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met\nbound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0\n" at=place:sha256:ae86ff6459dbeb06cf25e48b61be04acb004962ee3b658ec6302cfccb2893dbd by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0\n" at=place:sha256:846dfb54ddf7f6f91af763e17a93971744331c0a4623b0ca743ba583a9a0b431 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met\nbound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met\nbound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met\nbound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met\nbound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0\n" at=place:sha256:78287c5074c7e7544a568d14d9d8e3244f2bccd8e4bd848fa43a1b48b5547c32 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0\n" at=place:sha256:90cb0cf49fd948cad0d063582714eeb67b0d45716d0d10bb4ea422709b4c1126 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:401c79478174d4ea0cd6e60861c8e7f22cc05b201e7090d06592eacd446dc7fd by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0\n" at=place:sha256:27ea9fd3811d6af6e3499f5465e62ef4bc17cda1e28e0297d7c7ab59a94aa6a7 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b value=5..5 bound-lock/1 about="bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met\nbound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0\n" at=place:sha256:2d105b936f1ad95ddf113dc73dd42fb32a80b648cfee5a4d53b19d6ffce8a723 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=5..5 -bound-lock/1 about="bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0\n" at=place:sha256:2c8d858d0a2d739a47efa4b17babaa8c08e093b87c9abe2eebaaeb2cfd564019 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=5..5 +bound-lock/1 about="bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met\nbound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met\nbound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0\n" at=place:sha256:22fd7319ca3fe91ffc8cefdaa1cb93834d1e94f23866f3048afb3c5173871283 by=reader:bf562bd10737 form=interval measure=count role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 value=5..5 bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive-conformance.publication.json value=sha256:6085a889a9b94fd27e55e004fd46919fe5889fc1851cc22bfd86d2c97badb4c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/archive.md value=sha256:eedbd0ca544377080763c035053e532bfc46ddd496c3794e0cac2e0d6286e3a9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=sha256:b45fd971e6975b1965057d4028d083d3cc801e2f713bf226840cfe54adfeb7b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/archive-conformance.json value=sha256:e14e5007e6b097be39964a749a09fb7143f652129869a8902743eee3ec9b89ea\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/archive-conformance.json value=sha256:1e2a1ce055edb12da86e1ddbbf78e1f9cb910ad6fe14f57fc3e360751e604a4c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/archive-conformance.json value=sha256:c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f role=reads scope=contract/published/pipeline/archive value=docs/contracts/archive-conformance.publication.json|docs/contracts/archive.md|samples/no/archive-conformance.json|samples/yes/archive-conformance.json|vectors/archive-conformance.json\n" at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:efeae360709b0bdd9e0641e65bec91a3a3a29c534a982dc287287ae7afe512cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:af2f28c0b8e68b9000a110760b8cb9cfd331d725c0f363e88847e24c958291f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:c95c704f175e189b1d0f7f0a91374e251689e0a2f7265cc759c55cf5b9e8be1a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:8187552aaee39c9e2b748158623ba341f8c2e132a3aa472dcb89b1986311796d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:c6b3a00809e69db29861160b6dfaded9d491cb398f48d4ba18f583e8f2d74a1c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=sha256:38eab0f25722e8559d4afc43f78d66f54d7b1ebcac04d5f87c09d60778763544\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/signing-port.json value=sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/signing-port.json value=sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.publication.json|docs/contracts/cli.md|samples/no/signing-port.json|samples/yes/signing-port.json|vectors/signing-port.json\n" at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:8fd8362d2b64292c0eb5b587984e67f65417df611ff0f35876af58e42ab3f2b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/citation-file value=docs/contracts/documents.md|docs/contracts/view-citation-file.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:c60066fb7a05399af4f62aff0e30a18c5ceb79c229bef6fa2369acd880eec428\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/explanation value=docs/contracts/documents.md|docs/contracts/view-explanation.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:40c884f7e1f7004330767073288fca859239cb621a565e5a4348b3b5243854fd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/guide value=docs/contracts/documents.md|docs/contracts/view-guide.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:51b9a7d904d0d6986c8e392c3bd9a64edc75ecbadbdc5056d6dd69cf380e6d02\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/manifest-render value=docs/contracts/documents.md|docs/contracts/view-manifest-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:74d5de324c84700455fd5d1f27ade0db283bc819bd7077fa0ba5b9bb91185ebf\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/readme-historical value=docs/contracts/documents.md|docs/contracts/view-readme-historical.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:2d79bedaeb09f7a983d7825f2155f5830c2a12a913a77f5f8246391015c63bda\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/reference value=docs/contracts/documents.md|docs/contracts/view-reference.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:bddd22afcb7479de5e1fa835bbd7edaca668859a33eb58a64aa9e94c86aed0a1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/documents.md|docs/contracts/view-release-workflow-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:017235397bbd6cae017dc257fb2db87380325046ae87b63f2db53b0d6205e904\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/tsconfig value=docs/contracts/documents.md|docs/contracts/view-tsconfig.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:e0fe246c4768c2022524fe54d7eb0849a2a8cbc3b3ba9e94ea34f5fa9a2b84ef\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:ae2f2d83d6a7a3a693b6eaa5be11d0ef1a5f015edfbc8f2648f7174564e7d8cb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/usage-profile value=docs/contracts/documents.md|docs/contracts/view-usage-profile.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:a8efed013faafc6f01e02ba760c17fc0d2dbe0e3448c1e244730c7d183501c05\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:e914a8753b6803c73ed05166a78577742e4fc684e009467e94882f9fd58c3dfb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=sha256:fa5b851eb8a0a4c81363cdfd010a36d39a8e8e831c032dcd768a881ed53b2c6e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/typed-object.json value=sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/typed-object.json value=sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/no/typed-object.json|samples/yes/typed-object.json|vectors/typed-object.json\n" at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:1d50d3bce5ec3155cf5ac1f32160a27cbb5c67b4bf23d8397dc5b3fb192cd709\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/card value=docs/contracts/view-card.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:90c3752d23c7429f512ed780ad293652db5b3098d91bdb63d1f4b86753b1aee0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/help value=docs/contracts/view-help.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:a6107a627b7a2cf18d96bbb1a21f61b1a3562c7eb6a67252cf94ac4964e7c23e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:d22ea5b51f369bdb89d8ff762cb61f5c05994c9eaac3e59131ed40139b2294f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:8681d0c1c1985d99af2a40b3b84e7196807febfc2d2eeb263f9a6997ec24f7b4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:1275c2f0fc854ca3c115aec57b6a2800425026a12c1c35c874857c6fa2f692e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:5fd0041870f702d7662d82268e4602e02d56d1b0fea02eaffa2b546d18aa5870\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:d9f7d39ef313e213748a77e190fb6347aad98e378cfbfb66e97eb7e86d39e2cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=sha256:1ca81d8aafbe25d3e23eeb2b7b777c70ce5cce67519cc1738463d8e40836bbc6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/walk.json value=sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/walk.json value=sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json\n" at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 -bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:b554a63a3c9f2cba85cbc4cc4809324f0cd8c4903326029912270bceda206acb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=sha256:8cc952a6b3c3a70fd90d59ecdb9089d3c48d9bb03940b97d4aa857eefed64097\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/query-views.json value=sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/query-views.json value=sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 role=reads scope=contract/published/view/why value=docs/contracts/view-why.publication.json|docs/contracts/views.md|samples/no/query-views.json|samples/yes/query-views.json|vectors/query-views.json\n" at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 -bound-lock/1 at=place:sha256:071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/071d9083245298006174f3689af91e54609052d362247a17fedb254d8cde7b68 value=0.202563..0.202563 -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 -bound-lock/1 at=place:sha256:1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/1ebd2fb40bd9c4dad72820fd547e2cffb9ae1ccf82c72678fbc66eeda000b616 value=0.209962..0.209962 -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 -bound-lock/1 at=place:sha256:20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/20a5809a736d16484d989c73c50af45a546bbca57ff54de76dd6eb6c032afcc6 value=0.197739..0.197739 -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 -bound-lock/1 at=place:sha256:2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/2a49b6a91dd16ceee10b2d9ffa870bba7e0da49641e34a5ca575d28fd3b8d237 value=0.207598..0.207598 -bound-lock/1 at=place:sha256:2cb559ed40efa55853fc9abcc2f94aeb1bc3573fde2ac34feb7f29bb0b56a623 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=0..0 -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 -bound-lock/1 at=place:sha256:2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/2d04adfa562a147753e7436ac653802f0c1a841c34ef2b96c4bb796baf52e6c9 value=0.208077..0.208077 -bound-lock/1 at=place:sha256:330ff2c1eff19e4d9b1f25ef1f5015dcc236646832def3737ddf85d523f946c7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=0..0 -bound-lock/1 at=place:sha256:3cc406dc78785a8e9c46c18227195de472127ba0556839a19970679e132dfd1a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published value=0..0 -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 -bound-lock/1 at=place:sha256:4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/4240854df5d1e6a69cf8f2bfbb0f9acf11dafea3ed2811272c9cff08d699b054 value=0.200795..0.200795 -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 -bound-lock/1 at=place:sha256:51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/51c635c6bbf573e969f83b8702638f80e51283a7e21c46f88706cb1efd31e70b value=0.201813..0.201813 -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 -bound-lock/1 at=place:sha256:637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/637f6f93ba7d3291502df054f528c622439426f5948ff076112e109175eac1b6 value=0.202448..0.202448 -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 -bound-lock/1 at=place:sha256:753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/753fd8d9924fa7631ad0762668a12d8ebeebe1f54ae12c0399d87a631530f191 value=0.205380..0.205380 -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 -bound-lock/1 at=place:sha256:7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/7c8114b57169ee07424a3308223969ab4688680c35379dee89cae3a1f9037b72 value=0.201321..0.201321 -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 -bound-lock/1 at=place:sha256:83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/83b36d05ab9ae7b55a888e339ee1b9165829b7bf481269d7d0b469378f18806a value=0.201784..0.201784 -bound-lock/1 at=place:sha256:9799ee315fb83ec979c7a32895a4aa794ae3013ec8b31d1a95df7813ef248aa6 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 -bound-lock/1 at=place:sha256:9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/9abcbd07b03d0f7ff21f01f438a89b3a73b78f910e12d880cdc1ffa4c32def98 value=0.209941..0.209941 -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 -bound-lock/1 at=place:sha256:a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/a0541d7dd3e4cf74e39b03ac555ded123b7c8033cfee6beadd1956b11663a7ab value=0.208624..0.208624 -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 -bound-lock/1 at=place:sha256:ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/ac4d615f330936613427d4f5a93e72443358a251da6e52ffb16bf22ac409a434 value=0.203790..0.203790 -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 -bound-lock/1 at=place:sha256:ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/ae0831f7409589982fb787671e644802723c1aaa3df2dfe456c636602623ef08 value=0.209655..0.209655 -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 -bound-lock/1 at=place:sha256:aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/aebd31c736e813974db931d10e3197ece2195c2351a9252925eda8c88cd152e1 value=0.199971..0.199971 -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 -bound-lock/1 at=place:sha256:b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/b043341704c0fc344da81ddef5fe982cefdb45ec672bdb4792e2a16eb6de0f5b value=0.204573..0.204573 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="closing: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" -bound-lock/1 at=place:sha256:b36cef98c8154c50b412f6d160e5257040f34da528a8679f5dc6beb609ecd6ba by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 -bound-lock/1 at=place:sha256:b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/b5750248a64817cf79f9595d6947bbf4078cb96622dc0099b822f424466ecca0 value=0.206477..0.206477 -bound-lock/1 at=place:sha256:b9ce50ddf902f16e9627df3f9f5779264ad38187d485e67e550facc7d35cba61 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=0..0 -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 -bound-lock/1 at=place:sha256:b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/b9d645d43a565a448156c263b355cd44735d958e920f9cd7148c2b369fae7bcb value=0.203591..0.203591 -bound-lock/1 at=place:sha256:c1bb280370ffd65504fc1db7dce702034ad224be1c867e9bf5af6c6df59cd2b0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=0..0 -bound-lock/1 at=place:sha256:c9c398754a4d3726a94afcc8cd899dee8a219a4b522aecd489b5b35fefff28d6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=0..0 -bound-lock/1 at=place:sha256:cb7a5607027b337d4bcfe76bc58025a0d9a5dcfdd317e33c0891444177fe55fc by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=0..0 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/attest-evidence.publication.json value=sha256:51225a212193c1a629ef3cf8d3ca8e139f69b58f80b60133792ac6b72aaae316\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/evidence-view.md value=sha256:522740051150e3b35dcca31bcc398b18b8cc8b5f9b18417ec4c676f5ea59e61d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:3a398c822afb8e23807daa39cd919a6daddb73211e6d5b8e895c9c09202eff67\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/attest-evidence-view value=docs/contracts/attest-evidence.publication.json|docs/contracts/evidence-view.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c value=sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-fold.publication.json value=sha256:c95c704f175e189b1d0f7f0a91374e251689e0a2f7265cc759c55cf5b9e8be1a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:3a398c822afb8e23807daa39cd919a6daddb73211e6d5b8e895c9c09202eff67\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/fold value=docs/contracts/cli-fold.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 value=sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-land.publication.json value=sha256:8187552aaee39c9e2b748158623ba341f8c2e132a3aa472dcb89b1986311796d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:3a398c822afb8e23807daa39cd919a6daddb73211e6d5b8e895c9c09202eff67\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/cli/land value=docs/contracts/cli-land.publication.json|docs/contracts/cli.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf value=sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli-sign.publication.json value=sha256:c6b3a00809e69db29861160b6dfaded9d491cb398f48d4ba18f583e8f2d74a1c\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/cli.md value=sha256:97cddb7dac0c426b40c51d852d6176ae8f389351cc3366206f8acb0e58c7117a\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=sha256:11c627b728151466c36e9a2b3433d0345f86e2142cd5135311dd3fc65dafa20d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/signing-port.json value=sha256:bb45e5385c5efad77607edfcd79af5faa5cb064d30b2d27a0b9c79de807bca15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/signing-port.json value=sha256:2bbf951b29ba00e715443c1ea24884a46296ee2a5bf7fd03f6fd681ea0eacb69\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/signing-port.json value=sha256:53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde role=reads scope=contract/published/cli/sign value=docs/contracts/cli-sign.publication.json|docs/contracts/cli.md|samples/no/signing-port.json|samples/yes/signing-port.json|vectors/signing-port.json\n" at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f value=sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-citation-file.publication.json value=sha256:8fd8362d2b64292c0eb5b587984e67f65417df611ff0f35876af58e42ab3f2b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/citation-file value=docs/contracts/documents.md|docs/contracts/view-citation-file.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f value=sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-explanation.publication.json value=sha256:c60066fb7a05399af4f62aff0e30a18c5ceb79c229bef6fa2369acd880eec428\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/explanation value=docs/contracts/documents.md|docs/contracts/view-explanation.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 value=sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-guide.publication.json value=sha256:40c884f7e1f7004330767073288fca859239cb621a565e5a4348b3b5243854fd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/guide value=docs/contracts/documents.md|docs/contracts/view-guide.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 value=sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-manifest-render.publication.json value=sha256:51b9a7d904d0d6986c8e392c3bd9a64edc75ecbadbdc5056d6dd69cf380e6d02\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/manifest-render value=docs/contracts/documents.md|docs/contracts/view-manifest-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 value=sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-readme-historical.publication.json value=sha256:74d5de324c84700455fd5d1f27ade0db283bc819bd7077fa0ba5b9bb91185ebf\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/readme-historical value=docs/contracts/documents.md|docs/contracts/view-readme-historical.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 value=sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-reference.publication.json value=sha256:2d79bedaeb09f7a983d7825f2155f5830c2a12a913a77f5f8246391015c63bda\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/reference value=docs/contracts/documents.md|docs/contracts/view-reference.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b value=sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-release-workflow-render.publication.json value=sha256:bddd22afcb7479de5e1fa835bbd7edaca668859a33eb58a64aa9e94c86aed0a1\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/release-workflow-render value=docs/contracts/documents.md|docs/contracts/view-release-workflow-render.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 value=sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-tsconfig.publication.json value=sha256:017235397bbd6cae017dc257fb2db87380325046ae87b63f2db53b0d6205e904\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/tsconfig value=docs/contracts/documents.md|docs/contracts/view-tsconfig.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea value=sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/documents.md value=sha256:a22d9b27c7be1c168ea985d703a9c86c19157c8e24193e7dcc34d3f33ea44375\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-usage-profile.publication.json value=sha256:e0fe246c4768c2022524fe54d7eb0849a2a8cbc3b3ba9e94ea34f5fa9a2b84ef\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=sha256:300164d752ca409fc77a01d32da0445ad8731c2dd93a036969b5e7beca46b6f4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/historical-document-views.json value=sha256:85d091dd6fbf4c3438e7f04700d70bbded4260eb38804e049a1bc9c301bbedb9\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/historical-document-views.json value=sha256:1e375ddc0be9538404e7258e862a60fc5454cd2b7dde1afe27b28de0228467bc\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/historical-document-views.json value=sha256:6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 role=reads scope=contract/published/view/usage-profile value=docs/contracts/documents.md|docs/contracts/view-usage-profile.publication.json|samples/no/historical-document-views.json|samples/yes/historical-document-views.json|vectors/historical-document-views.json\n" at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 value=sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.md value=sha256:73925fbdaa4a9418b63fe28a9f6d36430eaaa59eb357657cdbe45129fb9454fe\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/typed-object.publication.json value=sha256:377034f586a73b4c3ae899d295005b9b970443694ae78622cb5249e287082e20\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=sha256:c663fc43f0617059742224b099ca1c7e737dc2de5a5a60a22dba08fe35572def\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/typed-object.json value=sha256:03ac2a40efbea4232025e99d37f06bca03292fcfe3c41c8c27dd5647080951a0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/typed-object.json value=sha256:b54bac71e89800f09cb55331a4cebde2e280d5240b062a317ffabbc02edcfa7d\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/typed-object.json value=sha256:32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a role=reads scope=contract/published/typed-object-sample value=docs/contracts/typed-object.md|docs/contracts/typed-object.publication.json|samples/no/typed-object.json|samples/yes/typed-object.json|vectors/typed-object.json\n" at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c value=sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-card.publication.json value=sha256:1d50d3bce5ec3155cf5ac1f32160a27cbb5c67b4bf23d8397dc5b3fb192cd709\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:4e0baef9f577396d72d0e83003cbf2aa8450a5b59a9d46b92254fc9eb7ea6557\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/card value=docs/contracts/view-card.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 value=sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-help.publication.json value=sha256:90c3752d23c7429f512ed780ad293652db5b3098d91bdb63d1f4b86753b1aee0\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:3a398c822afb8e23807daa39cd919a6daddb73211e6d5b8e895c9c09202eff67\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/help value=docs/contracts/view-help.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 value=sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-lines.publication.json value=sha256:a6107a627b7a2cf18d96bbb1a21f61b1a3562c7eb6a67252cf94ac4964e7c23e\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:3a398c822afb8e23807daa39cd919a6daddb73211e6d5b8e895c9c09202eff67\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/lines value=docs/contracts/view-lines.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f value=sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-programs.publication.json value=sha256:d22ea5b51f369bdb89d8ff762cb61f5c05994c9eaac3e59131ed40139b2294f7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=sha256:4e0baef9f577396d72d0e83003cbf2aa8450a5b59a9d46b92254fc9eb7ea6557\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/program-views.json value=sha256:bf6b2fbd11290920e31f46c18012be2230ffdab47dc7013d3a0aafae1fd6cbe7\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/program-views.json value=sha256:b1e8feb6839050a09410dade936cbb827ac438ff8c7b962e5fefd50f601d1b15\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/program-views.json value=sha256:a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 role=reads scope=contract/published/view/programs value=docs/contracts/view-programs.publication.json|docs/contracts/views.md|samples/no/program-views.json|samples/yes/program-views.json|vectors/program-views.json\n" at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 value=sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-receipts.publication.json value=sha256:1275c2f0fc854ca3c115aec57b6a2800425026a12c1c35c874857c6fa2f692e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=sha256:3a398c822afb8e23807daa39cd919a6daddb73211e6d5b8e895c9c09202eff67\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/native-views.json value=sha256:7750551a70599cbecb37ee5659797ba8ff1dd84a11e17cbbe0c77ff62aecb3a5\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/native-views.json value=sha256:888de96de74e6944d18d425245093845c54dd8374adc6c56f589c3e40da9f2e3\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/native-views.json value=sha256:1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc role=reads scope=contract/published/view/receipts value=docs/contracts/view-receipts.publication.json|docs/contracts/views.md|samples/no/native-views.json|samples/yes/native-views.json|vectors/native-views.json\n" at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 value=sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.md value=sha256:fc4cf29128d028c49380db8c28f8b68b692b8f25e577ed3eec238cb805cb18b6\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-walk.publication.json value=sha256:d9f7d39ef313e213748a77e190fb6347aad98e378cfbfb66e97eb7e86d39e2cd\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=sha256:2b8d5197021a90cd9330185e419314f15e4e03bcf26a96357564614a5dcfd746\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/walk.json value=sha256:9e1b17f0e99285b1d89cf1967158422836ebdcd6542b2eea3cee074c5c26c233\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/walk.json value=sha256:d316e1ca1d07ee2a70038d1ee0df1d6e0d318f71d6364fd13377d2b9ee26a0ac\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/walk-publication.json value=sha256:d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 role=reads scope=contract/published/view/walk value=docs/contracts/view-walk.md|docs/contracts/view-walk.publication.json|samples/no/walk.json|samples/yes/walk.json|vectors/walk-publication.json\n" at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 value=sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 +bound-lock/1 about="bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/view-why.publication.json value=sha256:b554a63a3c9f2cba85cbc4cc4809324f0cd8c4903326029912270bceda206acb\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=docs/contracts/views.md value=sha256:66851597b8afad44ebbd89af57c07316c03876d5e6a51853e6a74665fc32f8c8\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=sha256:09b54e87d99534ad2a15c521fb4d7b30e133529de8b6b6f834bde6920886013f\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:bf562bd10737d3817699639784b932f04b52c078396d395c7a2c5b31e4315351\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/no/query-views.json value=sha256:a161c1c33dcfd357b610ae6835ecc4b16d7918a9216bab07ecb4de132e2b2ba4\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/yes/query-views.json value=sha256:105bdcf69a8179659033c898c8e27ee3d37aabdd0fb6f221a6affe10c579e317\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/query-views.json value=sha256:2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs=execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 role=reads scope=contract/published/view/why value=docs/contracts/view-why.publication.json|docs/contracts/views.md|samples/no/query-views.json|samples/yes/query-views.json|vectors/query-views.json\n" at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=bytes role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e value=sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e +bound-lock/1 at=place:sha256:016b057e0b7881814a5f5c4037bdf86ad21832e612ecf6f15572d6a5239d3562 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/1f17bde653377103acf8888717b0ad5c2b83b79860a4833be93270532b76c0dc value=0..0 +bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/signing-port.json value=met +bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/signing-port.json value=met +bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/signing-port.json value=met +bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/sign value=0..0 +bound-lock/1 at=place:sha256:02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/30bb47bf7c73d4e74f396581010e2032eeeed2179496e73fa04d0fbcf2c6b540/02d170611b5e36f69b3e3efe805ee82e340de03f4a5d66db5c9df77b863d1d9f value=0.394798..0.394798 +bound-lock/1 at=place:sha256:0ae0dabaefde481e9aafd26cb34fa8e4fd1752951c542d58135e5a40e8743a0e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=cli-exit-closed role=reads scope=cli/exit/closed value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=cli-exit-refuse role=reads scope=cli/exit/refuse value=1..1 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=cli-exit-usage role=reads scope=cli/exit/usage value=2..2 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=cli-flags role=reads scope=cli/flags value=6..6 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=count role=reads scope=admission/one-boundary value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=count role=reads scope=idempotent value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=count role=reads scope=nothing-deleted value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=count role=reads scope=offline value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=count role=reads scope=one-writer value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=count role=reads scope=resolve-by-url value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:6039da051052 form=interval measure=count role=reads scope=the-stranger value=0..0 +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/help value="ci-clean-closure: verbs fold land sign · flags --as --check --key --key-file --signer --place\n" +bound-lock/1 at=place:sha256:12d296c24aac7286a475b6a22bbefcf51a92ac4e7b58d9cb9abbfeec37b0b0f2 by=reader:b4a4ef5b4fab form=alphabet measure=text role=reads scope=capture/meeting value="INPUT [[\"Ana\",10,14],[\"Luis\",12,16],[\"room\",10,13],[\"boss\",18,20]]\nMEET {\"lo\":12,\"hi\":13}\nCONFLICT boss\nWITHDRAW boss {\"lo\":12,\"hi\":13}\n" +bound-lock/1 at=place:sha256:18962bf356bc0bdec1933236c430d3b4d93cb11643a3c10cb4f1f825a887b0de by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/53cc8abaccbcb37385fdc1acd1d251c4d3d77ca44df4f8436ee498acf40d4fde value=0..0 +bound-lock/1 at=place:sha256:286301dd7741d2517b2f4b8577d6306c48a75264ccdbea3559fdaa40bfd2f6b7 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/a10f688f48b2a9686cfe9ebc3908fa06d04cb0d3e86602a51d47511076f81f71 value=0..0 +bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/receipts value=0..0 +bound-lock/1 at=place:sha256:2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/210190f8555962eb95389dbb6f2fbb248d62a0ea592b34e8d97c6be18abb00d7/2e65d8efc4e522b829c38688a79aa0a40825a0d93e91a663e6599331aa468711 value=0.385962..0.385962 +bound-lock/1 at=place:sha256:46f0a2d1a6e62392d67f072527b5bdc3e3c0a9790bc86584e3f9167ee2d0fe69 by=reader:04feef01a8c5 form=interval measure=unreceipted role=reads scope=door/unreceipted value=0..0 +bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/card value=0..0 +bound-lock/1 at=place:sha256:4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/8dfb03e666dcb1836aebd396a87c004cb243bfb5b6d231f54d5cea627fbcf1a5/4882565964567a3c73eb778fe06e7fd76db536cc04cb417494382838f5776d54 value=0.396696..0.396696 +bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/citation-file value=0..0 +bound-lock/1 at=place:sha256:4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/a1b8ddf809f5e4a7f91702aafea1df612d9abc9fc80c6b6ef26f5329b5dd69eb/4af44663b57f04c881dfee9245d67926f06dfe02d36d467ecfb290959e35fa2f value=0.409404..0.409404 +bound-lock/1 at=place:sha256:51c989c8398539fd856c0a503bf1d19bb63da348deaf12bf359f5bb9ae66edbc by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/6a40dad06f119dee45834bf4252c138c7368c07c5a814068a573da7f4bc72a94 value=0..0 +bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/release-workflow-render value=0..0 +bound-lock/1 at=place:sha256:59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/07a6fa8f4c5abcf023a4643b0830e86f82ec280c37c760f9f87729c1fde8cbb6/59981e0dc076e5bb29052cb6c0bdbb52e8c9f4fce74e6dab0c42596811cacee6 value=0.408602..0.408602 +bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/help value=0..0 +bound-lock/1 at=place:sha256:606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/264d1f241f59b1cc55184a8caa9424f64b37060c618401f0410631c0deac9a80/606d733c96ceeef8f18257a54ab794965ea67adede298522e36f03c3876d1ec8 value=0.385764..0.385764 +bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/land value=0..0 +bound-lock/1 at=place:sha256:6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b22901c107d927b59527e324dbf3ed5fe2e442829f86e2ffb47e98c48a57f299/6895a06c8c5273035f15b0f163babb4072da014fa268e49327cd0c66828ecfaf value=0.379314..0.379314 +bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met +bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 +bound-lock/1 at=place:sha256:7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/7e711ad2867b736a3b38706b250cd6e6deebabe2ee2814a5c8dfa29fc4942d15 value=0.386650..0.386650 +bound-lock/1 at=place:sha256:81efb0bc6be0a816672ce24f813d6a6b68b4777dacac2abe9685969d3bbcd2b4 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/32f8b095f4a240c6a3c640797a9f0fbc05506fa623e7cb61f0d9fd8c8bd9124a value=0..0 +bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/explanation value=0..0 +bound-lock/1 at=place:sha256:84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/02a8c2ff35335f7a1c2500c41f57a85782bba3ca0d62cd4ce81cc06d26b16b0d/84993cd7d02c0e8a0517ecf90322326179f6978e680a37dcc1a103d5bd97ba16 value=0.387840..0.387840 +bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/evidence-view.md value=met +bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/attest-evidence-view value=0..0 +bound-lock/1 at=place:sha256:8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1c1a518629e0254cf043dea049ca020ac9d66b6aa64c724d32f79c141f5ebbe4/8d7416ad2205c9ab8983de790facc7bdd82638d534c283f0a99209c32d9b7c3c value=0.396812..0.396812 +bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/view-walk.md value=met +bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/walk.json value=met +bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/walk.json value=met +bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/walk-publication.json value=met +bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/walk value=0..0 +bound-lock/1 at=place:sha256:8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/bce6461bf205cc9bb4967563ebe076b0df551ef542015bad57311d2d55ec223a/8e675c4bbe8f90b857a44d0416809918b9c2d7dc6a0b0f27b4abe47b1293b8d5 value=0.401232..0.401232 +bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/typed-object.md value=met +bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/typed-object.json value=met +bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/typed-object.json value=met +bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/typed-object.json value=met +bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/typed-object-sample value=0..0 +bound-lock/1 at=place:sha256:9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/2f14480f0cb138e9d65402e161118bd33173091f4f0476a0956f268ef48204fe/9b99180418307609a49bcae286f05666623b6781d0734b65aee2be6f92b0a90c value=0.407236..0.407236 +bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/query-views.json value=met +bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/query-views.json value=met +bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/query-views.json value=met +bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/why value=0..0 +bound-lock/1 at=place:sha256:ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/033a648a40b8bf19e7fc9798f7c55ca57db97721207920355360e84e46c9a001/ac8dede30afbab954fe16958b63dbe44bcd584da14dd995c30ea7333c9e5e25e value=0.390222..0.390222 +bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/tsconfig value=0..0 +bound-lock/1 at=place:sha256:c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/e5ea9ccc092991c41e0ea296aed52cae2e1e52c8c25d829ad30fdcbe85be26a7/c19e0e84fce58e57b3260584e81869918d23bc6a6a8c0412b0a1482cb98d3eea value=0.403700..0.403700 bound-lock/1 at=place:sha256:d2eb1fec213fc1917772e261a19b9d108f26945fa18be2169ad95a6465426a16 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/c9e9566f19db9feb6a8a7619315bdb19d66f2cd7bba90f911fc047b89f4ebd8f value=0..0 -bound-lock/1 at=place:sha256:dab94601f6ee76e5276c9702375bccbadf3522512fddfa1c87cce478bfb27542 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=0..0 -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/cli.md value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/cli/fold value=0..0 -bound-lock/1 at=place:sha256:e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/b90f9482ce70efa52b839dcaceefb9f1fefbcf4a6da624ca7d989fdb78e86ae0/e0a39d3f852d5c01358310b0815e0199e7d72b12fdf71bf380a926c319f50d53 value=0.202126..0.202126 +bound-lock/1 at=place:sha256:d5fda6295ad59e9ceed5143aa4b35e64c5438d758728cf033a23d089392c2da1 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/d31a059a2eb8b137ec026d0c5b7b2aea5de809f349526c6bc4a916abe14a0113 value=0..0 +bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/program-views.json value=met +bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/program-views.json value=met +bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/program-views.json value=met +bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/programs value=0..0 +bound-lock/1 at=place:sha256:d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/95609518b145f36d265c51bfb52c12bd05e306aa9a9d9bbcb788406d80660524/d8a9b617aac1d53277510e5ce45ad1f0b4a5aed6d8208c2e2b33e7835f3239e4 value=0.381692..0.381692 +bound-lock/1 at=place:sha256:dc7179fbff0f1dffe0ab3d0f25f2262e84e107bdcea6a5d92f12938a57e79810 by=reader:bf562bd10737 form=interval measure=count role=reads scope=proof/execute/2bf6a95f93dabc27c79db679eaf9ad4f5a6e7835e74d762df62fe256c5ea21c1 value=0..0 +bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/usage-profile value=0..0 +bound-lock/1 at=place:sha256:df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/c6e8ddf2f5173b21fa27eeab80a29deafc9897d88db7d07ba99dea3685a53d92/df137c5abda876f2b25d24a0a5d221cb4aef7879066959ebc9b61e00159d40c2 value=0.394309..0.394309 +bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/views.md value=met +bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/native-views.json value=met +bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/native-views.json value=met +bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/native-views.json value=met +bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/lines value=0..0 +bound-lock/1 at=place:sha256:dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/83d362bbceb8696d461393a6123faa0a4e18b772fb84b880b166b68dee976d45/dfed5a46fee7046ffdef6a36b765e92c5c0d5fe396eb7e50aa3add00a7cba86f value=0.413223..0.413223 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/duplicate/src value=none bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/host value=none bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=alphabet measure=id role=reads scope=source/locations/literal/key value=none @@ -252,95 +234,81 @@ bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/org value=0..0 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=count role=reads scope=literal/path value=0..0 bound-lock/1 at=place:sha256:e2602308ed24728ed06deec55d2c2a3f2662185bc2cbf7afbe6aaac5a767212b by=reader:cff08bccafa4 form=interval measure=duplicate-bodies role=reads scope=duplicate/src value=0..0 +bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/guide value=0..0 +bound-lock/1 at=place:sha256:e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/14297ddb7404c5404df6cf5b4fc55d6f1727d7c8ffecfab3b5c6d71b5187a63a/e510a3633fcb70abaaa8e869a819c7498525b182a6ac08c8a5709ee4d778bd58 value=0.390025..0.390025 +bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 +bound-lock/1 at=place:sha256:eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/eca5a803bc3b7de67705bbac4ba786d1698559edc8f2e18d7a9650261966ffb0 value=0.452130..0.452130 +bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/reference value=0..0 +bound-lock/1 at=place:sha256:ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/1142aa9847fe2d5dcba0d1c313b1770cd7f0d23f26d2289faf3204e43568d5c9/ee67453c707dc9b4cfa12bb46d285a10ce8fa39724f05a4de2955ad251471e9b value=0.392356..0.392356 bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/archive.md value=met bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/archive-conformance.json value=met bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/archive-conformance.json value=met bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/archive-conformance.json value=met bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/pipeline/archive value=0..0 -bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=0.209608..0.209608 -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/readme-historical value=0..0 -bound-lock/1 at=place:sha256:fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/934a5bb815ce02a97af891d9a8cb4e49fb2e9ab75fa7bc17ddb00f02537766d5/fb6841cdd1a9f691be67c5a08cc29c0236428d6336c20f116fdaae112a17595e value=0.209015..0.209015 -bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=status role=writes scope=law/a-fact-is-a-printed-line value=present -bound-lock/1 at=cone:0abeb4d9e38dbbf12bf63c9e20e50b4066f7cae49b2a42a0b93e3ee6ea34aedb by=judge form=alphabet measure=cone role=writes scope=law/a-fact-is-a-printed-line value=samples/yes/a-fact-is-a-printed-line.json|samples/no/a-fact-is-a-printed-line.json -bound-lock/1 at=cone:957f15a6bf76172db7ad6fc3ad985d3a2d29d53b0d7f26496278534a6b27eaa5 by=judge form=alphabet measure=status role=writes scope=law/a-refuse-plants value=present -bound-lock/1 at=cone:957f15a6bf76172db7ad6fc3ad985d3a2d29d53b0d7f26496278534a6b27eaa5 by=judge form=alphabet measure=cone role=writes scope=law/a-refuse-plants value=samples/yes/a-refuse-plants.json|samples/no/a-refuse-plants.json -bound-lock/1 at=cone:c4e8823785cb957bd016ff4f294f1fa5c89213b8cac249ffdc93b972288b8d48 by=judge form=alphabet measure=status role=writes scope=law/one-lot-one-place value=present -bound-lock/1 at=cone:c4e8823785cb957bd016ff4f294f1fa5c89213b8cac249ffdc93b972288b8d48 by=judge form=alphabet measure=cone role=writes scope=law/one-lot-one-place value=samples/yes/one-lot-one-place.json|samples/no/one-lot-one-place.json -bound-lock/1 at=cone:9b1915d477c82eba64f0b9a7928018db772788398ca8a13afd438831417ee43a by=judge form=alphabet measure=status role=writes scope=law/three-verbs value=present -bound-lock/1 at=cone:9b1915d477c82eba64f0b9a7928018db772788398ca8a13afd438831417ee43a by=judge form=alphabet measure=cone role=writes scope=law/three-verbs value=samples/yes/three-verbs.json|samples/no/three-verbs.json -bound-lock/1 at=cone:f4bf42894d608f16e39cb757609c9d0a82f50b31749b13599a4fc5ee303fcdf8 by=judge form=alphabet measure=status role=writes scope=law/verify-agrees value=present -bound-lock/1 at=cone:f4bf42894d608f16e39cb757609c9d0a82f50b31749b13599a4fc5ee303fcdf8 by=judge form=alphabet measure=cone role=writes scope=law/verify-agrees value=samples/yes/verify-agrees.json|samples/no/verify-agrees.json -bound-lock/1 at=cone:b86709db07f8d85d165ab4a69626ffadb72b500a400a846d9d2c18ad95a68872 by=judge form=alphabet measure=id role=writes scope=view/citation-file value=cff -bound-lock/1 at=cone:b86709db07f8d85d165ab4a69626ffadb72b500a400a846d9d2c18ad95a68872 by=judge form=alphabet measure=cone role=writes scope=view/citation-file value=CITATION.cff -bound-lock/1 at=cone:b1f48fdf405f81da14ed49dacc4407066a18d1e5ee5c9cd3d654a42d3545f75e by=judge form=alphabet measure=id role=writes scope=view/explanation value=idea|what-holds|refuses -bound-lock/1 at=cone:b1f48fdf405f81da14ed49dacc4407066a18d1e5ee5c9cd3d654a42d3545f75e by=judge form=alphabet measure=cone role=writes scope=view/explanation value=docs/why.md -bound-lock/1 at=cone:5af7aa019f81d75b150501e03cf4c96cce75f87d47ed0922c1f3179c14e5e67d by=judge form=alphabet measure=id role=writes scope=view/guide value=seq -bound-lock/1 at=cone:5af7aa019f81d75b150501e03cf4c96cce75f87d47ed0922c1f3179c14e5e67d by=judge form=alphabet measure=cone role=writes scope=view/guide value=docs/guide.md -bound-lock/1 at=cone:511e992f72f33c022e95dd7dc1c9aefe80567537c692f5f5d640d9c56fef7576 by=judge form=alphabet measure=id role=writes scope=view/manifest-render value=text@3 -bound-lock/1 at=cone:511e992f72f33c022e95dd7dc1c9aefe80567537c692f5f5d640d9c56fef7576 by=judge form=alphabet measure=cone role=writes scope=view/manifest-render value=package.json -bound-lock/1 at=cone:7cb9b04f9468a4a69adf2c74cd4cfd2c385ca177f66efeb013b7ad0ea402a873 by=judge form=alphabet measure=id role=writes scope=view/readme-historical value=hero@3|commands@3|idea@3 -bound-lock/1 at=cone:7cb9b04f9468a4a69adf2c74cd4cfd2c385ca177f66efeb013b7ad0ea402a873 by=judge form=alphabet measure=cone role=writes scope=view/readme-historical value=README.md -bound-lock/1 at=cone:73e5f49f2c68ae68297168be62142f4c0310322535b892de92e7b5b71cbbd798 by=judge form=alphabet measure=id role=writes scope=view/reference value=term|set|ref -bound-lock/1 at=cone:73e5f49f2c68ae68297168be62142f4c0310322535b892de92e7b5b71cbbd798 by=judge form=alphabet measure=cone role=writes scope=view/reference value=docs/reference.md -bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f17484642a79e by=judge form=alphabet measure=id role=writes scope=view/release-workflow-render value=text@3 -bound-lock/1 at=cone:83acd4200e0d85822ec7758f1425c8ece7e8ca0523660aa6bf2f17484642a79e by=judge form=alphabet measure=cone role=writes scope=view/release-workflow-render value=.github/workflows/release.yml -bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=id role=writes scope=view/usage-profile value=text@3 -bound-lock/1 at=cone:fd85558d34bab73004bfbaef02834284a34899a49d582069417ffb79be54e0a6 by=judge form=alphabet measure=cone role=writes scope=view/usage-profile value=docs/usage.md +bound-lock/1 at=place:sha256:f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/508a694913f8447f0c9569dbf49d5619e7028e07b69af9c6f630fe29bbfe354e/f2ba95dbc77e18d393085659845e86880e5e92ebc4634d1f8803fa744fd6b993 value=0.396171..0.396171 +bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=docs/contracts/documents.md value=met +bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/no/historical-document-views.json value=met +bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=samples/yes/historical-document-views.json value=met +bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=alphabet measure=status role=reads scope=vectors/historical-document-views.json value=met +bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=interval measure=count role=reads scope=contract/published/view/manifest-render value=0..0 +bound-lock/1 at=place:sha256:ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 by=reader:bf562bd10737 form=interval measure=s role=writes scope=receipts/readings/24f823b8091ad0e6bc2523012e42e09f3d2b8340484fa2a8bf5f5c8ff28cfc2f/ffc6c35806e9a10ecc6920eb6a021a84e746b0229752527529c4ba8a53af9468 value=0.396612..0.396612 bound-lock/1 at=place:sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa by=bound form=alphabet measure=digest role=writes scope=instrument/implementation value=sha256:4238b3a3ffecf5f6b8a729f54cdaa4aaf9fca2c8415b04d6f5586a9dfbba74fa - -bound-lock/1 at=place:sha256:6ff80b89e3704e72e5950afddacae31aea57d274d0d0e38865386cc4ae5db1a1 by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:a130a36b86251f6e315bf9188bb950ad6fca5ad2779402f60e23263fb62b552a - -bound-lock/1 at=place:sha256:3b3d39edf4587b94b3486f8fa864c21892b757c9d8c2e6a9a1ab5963ff849bba by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 -bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 -bound-lock/1 at=place:sha256:6ea00fe75e77dd8e5ae6b19d5bc5331bb5f7da7f3040af6c088d24971c95506a by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 -bound-lock/1 at=place:sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:e8f67bbd75a748e6d629a588055b9e5df2e707a35007b9a38c6b045439514885 -bound-lock/1 at=place:sha256:e28f4a732376af3b91d9820131ec0fea2d3f814f66904a882257b59b1d5ec3e3 by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:1b402f9910292cedfa38afcc3abe2f288263ebbee9733fd8590ec1398991d930 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:2209d76ea55d9537ffc5e24bb674b0cf396d1e13696aa6b5553cf852b612b732 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:05c8e941784d1f631e42278c37715c9ef9a9755e71bf99c36c0155f45ded8de9 by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:9caf5678b5c72882aaf52eb10a442b433c675cb2966fbec1a0dcc613d1a0c4cc by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 -bound-lock/1 at=place:sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:9a1deec4d467a49c2ca6161307592e3721735c0bfff9a12a62b79a54f78aa2d5 -bound-lock/1 at=place:sha256:aca94c640be46f4f5a4e536549d2f3c72a1881a686a137d0e5c0a1254e595d00 by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:5201c9a556b699d54b340680a53229ab8722383742777c7051f71ac3d925dafb by=bound form=alphabet measure=digest role=writes scope=receipts value=sha256:2ec47d2b4d869d86f918ff3907147097577420fc8b22ab60bf866f0bb3e4a3cb +bound-lock/1 at=place:sha256:6b0d67c3e4a37fe599faf0732e0b288efc9061f1a55a265999fdc76a61b196ea by=bound form=interval measure=count role=writes scope=receipts/ value=2..2 +bound-lock/1 at=place:sha256:e0577141a5e9f2e2cf0f91978a4479f29e6d9224bea39380960525cac735d86b by=bound form=interval measure=count role=writes scope=receipts/. value=1..1 +bound-lock/1 at=place:sha256:e0e9a6049885d093319b67e83fec21ae7f63237c59f9aec678a3d4804b75c597 by=bound form=interval measure=count role=writes scope=receipts/admission value=1..1 +bound-lock/1 at=place:sha256:671c21cdb4424e84aa09cd4058eaa48f5acfc64953f3a0e46b25fd135a3973a3 by=bound form=interval measure=count role=writes scope=receipts/capture value=2..2 +bound-lock/1 at=place:sha256:4f7c4f5d5d7f05f776b0c2d6749755e8ee04e5cf1bb0e3e1d65d8f87c0d8d720 by=bound form=interval measure=count role=writes scope=receipts/cli value=4..4 +bound-lock/1 at=place:sha256:1e4beedad4c6cb046c4a56c4140c03b5f87dce81470ca30bcfd09a554460661a by=bound form=interval measure=count role=writes scope=receipts/contract value=46..46 +bound-lock/1 at=place:sha256:634b9a650f0f4cac81844e91aeeebeb82d890cc77c2290387ae8ca7607e1b9a4 by=bound form=interval measure=count role=writes scope=receipts/docs value=22..22 +bound-lock/1 at=place:sha256:6ecb155df4396e6ff0d9cfe86cbae2422d359e25525022cf264791a0da3d5b32 by=bound form=interval measure=count role=writes scope=receipts/door value=1..1 bound-lock/1 at=place:sha256:14efce37002fcf7059ba79f536b5977dec16b6a3f420c9ece61c188f742405ef by=bound form=interval measure=count role=writes scope=receipts/duplicate value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:4d11cf355b6e3095ede19601c21191720bf4332d8c466046ef1c66bf4b68b9eb by=bound form=interval measure=count role=writes scope=receipts/execute value=8..8 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:792cf4f8e792f74be2d68726ea20d0a44c3c29894a5dd45f69db45575b2c4fed by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:7fea53e015f42ad8a2bcb09062d4501e07a956b694ac9f479efcd7e3ed71d196 by=bound form=interval measure=count role=writes scope=receipts/execute value=8..8 +bound-lock/1 at=place:sha256:1ba83648360ee62057f115ccc51c76ad863d2cacfe72be5906fe3047a64b780a by=bound form=interval measure=count role=writes scope=receipts/idempotent value=1..1 bound-lock/1 at=place:sha256:54a1aa95180da1823567572736a95624f73abf2d449e10e552c65ce6d506e086 by=bound form=interval measure=count role=writes scope=receipts/instrument value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:24023fde10bc3f5ad0c60d2b04cca3907b111a5431c6d6f0fc1171a9c3a67c8c by=bound form=interval measure=count role=writes scope=receipts/law value=10..10 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/law value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 bound-lock/1 at=place:sha256:1e455d16eae3f8af6ec0572b277acd383acbc15797955332f993ce9a75ed8303 by=bound form=interval measure=count role=writes scope=receipts/literal value=4..4 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:19fb1641fca77d7d8ce0ed6797c03b64f4704ebd1297cf34ed2dc3e39ae5a897 by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:c69219e03418aef9a6fdec1279c4c1a7a04cdc03b1f5df113b46659c78ed5a9b by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:60757662e0989df1c0b2b14ebde02148eb13f1ea9abd191f0ccd2dac22ae3c5b by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:567e86393603a36f9ad7d3d58dfb59d88eb88756003ee41ce3164d8d5f21195c by=bound form=interval measure=count role=writes scope=receipts/proof value=8..8 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:7f26b5d0a88d9ff21dea731a4a48f405311af450744e0f80c3e614acf1aafae3 by=bound form=interval measure=count role=writes scope=receipts/receipts value=88..88 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:bba2c1d6191f67318ec35a187171e2df4f4d6b8b337e10fc2dd015cc7f733b9a by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:5208d5afe14557d699922e705563f09a3984a52914137edad9a0131c3a12794b by=bound form=interval measure=count role=writes scope=receipts/samples value=44..44 -bound-lock/1 at=place:sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:6add05c2a3459d33eca84c4d9704f31db2922b80f20bb7dadfb2d0238bee697a +bound-lock/1 at=place:sha256:d7f5e860bfaaf291a02a2e62054be0ac9bf542cbff4eb905a416818722a1b557 by=bound form=interval measure=count role=writes scope=receipts/nothing-deleted value=1..1 +bound-lock/1 at=place:sha256:d7d51468324c7307c87f6a11e744c5e15e85d469355f31136026f1ba3ad6ff20 by=bound form=interval measure=count role=writes scope=receipts/offline value=1..1 +bound-lock/1 at=place:sha256:4c78d38f6152b24eee45901fc9fff04037b2eecbde016c7f8300482484db5baf by=bound form=interval measure=count role=writes scope=receipts/one-writer value=1..1 +bound-lock/1 at=place:sha256:f746f301e18200f812d69e6da1319bd3a127f21b4d5a7288203f51edc0535791 by=bound form=interval measure=count role=writes scope=receipts/proof value=8..8 +bound-lock/1 at=place:sha256:be85aecacf43eb3265555116b54032fa3024f3b29009d0b0d96e175c0ce31bdd by=bound form=interval measure=count role=writes scope=receipts/receipts value=88..88 +bound-lock/1 at=place:sha256:5856f172141c4fb90aafcf3bdad633bfc3352b9fa7eed3574997fd914d883780 by=bound form=interval measure=count role=writes scope=receipts/resolve-by-url value=1..1 +bound-lock/1 at=place:sha256:4b269b9de1c22ace4784068b3ea5d9f942530b54ce2a5ab06e4ea0d976e08708 by=bound form=interval measure=count role=writes scope=receipts/samples value=44..44 bound-lock/1 at=place:sha256:4b33d417a5bf1d38c2e54272a5d73b86971166d546620d9ea7b9fb72c579368b by=bound form=interval measure=count role=writes scope=receipts/source value=5..5 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:483602dc2e165aa25f851cc40c233a0f675eebab7a40ae87fb6e23a527a94e26 by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 -bound-lock/1 at=place:sha256:d96f2e4c2bdbbf99706ba9c51166874fb4ed9c7fd06c30784e5c633b1dabd0de by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 -bound-lock/1 at=place:sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:61cf91ccf6f9ffa629a4814186072b96ced3e54e453b6ae06e654ace1c3a6b32 -bound-lock/1 at=place:sha256:1c9ee8060471185a172fbe44aaa8f375282fad5c1550160adbb180cded3bb2b5 by=bound form=interval measure=count role=writes scope=receipts/view value=16..16 -bound-lock/1 at=place:sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 by=bound form=alphabet measure=bytes role=writes scope=receipts/view value=sha256:0839a437955e5a646c6b689d7527396820bd7c36fcbeca510501d1e5e5c122f3 +bound-lock/1 at=place:sha256:a78ac2fe3576a2f34f2730373c45cba6c2f32ae438f614bb87a2b03ac1df922b by=bound form=interval measure=count role=writes scope=receipts/the-stranger value=1..1 +bound-lock/1 at=place:sha256:a65c7bb49b41e44dbd1e0d5647bb8ed45cd7bb88e06ced4445a7f27d106a8678 by=bound form=interval measure=count role=writes scope=receipts/vectors value=22..22 +bound-lock/1 at=place:sha256:d45c094f99cf3682350761af394ee0408eefc70bf2e15f4e03bba7fe639b0964 by=bound form=alphabet measure=bytes role=writes scope=receipts/ value=sha256:d45c094f99cf3682350761af394ee0408eefc70bf2e15f4e03bba7fe639b0964 +bound-lock/1 at=place:sha256:d45c094f99cf3682350761af394ee0408eefc70bf2e15f4e03bba7fe639b0964 by=bound form=alphabet measure=bytes role=writes scope=receipts/. value=sha256:d45c094f99cf3682350761af394ee0408eefc70bf2e15f4e03bba7fe639b0964 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/admission value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/capture value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/cli value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/contract value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:97aefbb559f7476e91c95e653eb91fa83ffe264f132facc4cc948c50be298725 by=bound form=alphabet measure=bytes role=writes scope=receipts/docs value=sha256:97aefbb559f7476e91c95e653eb91fa83ffe264f132facc4cc948c50be298725 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/door value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/duplicate value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/execute value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/idempotent value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/instrument value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/literal value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/nothing-deleted value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/offline value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/one-writer value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/proof value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/receipts value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/resolve-by-url value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:9b85837d71b031e91e3e0849c437251d94fa4647a53f1d5342a92260f8cd0442 by=bound form=alphabet measure=bytes role=writes scope=receipts/samples value=sha256:9b85837d71b031e91e3e0849c437251d94fa4647a53f1d5342a92260f8cd0442 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/source value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 by=bound form=alphabet measure=bytes role=writes scope=receipts/the-stranger value=sha256:d5ef7c696b66f8b882f09bfec8292f9225b63177963a45702d889e4862f16337 +bound-lock/1 at=place:sha256:dbb4dae555687d63a1ab1aedc2199b4647e09b58f98edbc941f21e8e0fb777ce by=bound form=alphabet measure=bytes role=writes scope=receipts/vectors value=sha256:dbb4dae555687d63a1ab1aedc2199b4647e09b58f98edbc941f21e8e0fb777ce